在大多数情况下,如果您期望 XML(或 XHTML)作为输出,您最好直接使用 transformToXML()。您将获得对 xsl:output 属性的更好控制,特别是 omit-xml-declaration。
而不是
$proc = new XSLTProcessor();
$proc->importStylesheet($xsl);
$dom = $proc->transformToDoc($xml);
echo $dom->saveXML();
使用
$proc = new XSLTProcessor();
$proc->importStylesheet($xsl);
$newXml = $proc->transformToXML($xml);
echo $newXml;
在第一种情况下,无论您设置 omit-xml-declaration 如何,都会添加 <?xml version="1.0" encoding="utf-8"?>,而 transformToXML() 会考虑该属性。