我正在尝试将使用PHP和DOM创建的xml文档加载到xslt工作表中,但没有运气。
$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);
我根据从数据库中提取的一些数据创建了一个xml文件,而不是将其保存为实际文档,而是将其保存为字符串,我将字符串放入xslt表中并发生此错误
警告:I / O警告:无法加载 外部实体警告:xpath.c:11079 内部错误:没有root的文档 在 /home/dd615/public_html/webservice.php 第73行
非常感谢任何帮助。
答案 0 :(得分:1)
字符串不是XML。
有效的XML需要root element(即,除了XML声明之外,包含文档中所有其他元素的单个元素)。
如:
<?xml version="1.0" ?>
<root>
<element></element>
<element></element>
...
</root>
如果您有多个此类根,则XML无效且无法加载。