Xslt levha içine yükleme XML dizesi

1 Cevap php

Ben bir xslt levha içine PHP ve DOM kullanarak oluşturduğum bir xml belgeyi yüklemek için çalışıyorum, ama hayır şans yaşıyorum.

$xml_string = $doc->saveXML();
//echo $xml_string;

$xml = new DOMDocument;
$xml->load($xml_string);

$xsl = new DOMDocument;
$xsl->load('musicInformation.xslt');

// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

echo $proc->transformToXML($xml);

Ben bir veritabanı ve bunun yerine bir dize olarak kaydedilmiş gerçek bir belge olarak kaydetme çıkarılan bazı verileri kapalı dayalı bir xml dosyası oluşturulur, ben xslt levha içine dize koymak ve bu hata oluştu

Warning: I/O warning : failed to load external entity Warning: xpath.c:11079 Internal error: document without root in /home/dd615/public_html/webservice.php on line 73

Herhangi bir yardım çok takdir.

1 Cevap

Bir dize XML değildir.

Geçerli XML root element (yani, ayrı XML bildiriminden belgedeki diğer tüm öğeleri, sarar tek bir unsurdur) ihtiyacı vardır.

Bunun gibi:

<?xml version="1.0" ?>
<root>
  <element></element>
  <element></element>
  ...
</root>

Birden böyle kökleri varsa, XML geçerli değil ve yüklemek için başarısız olur.