PHP DomDocument 输出不带<?xml 版本=“1.0” 编码=“UTF-8”?>
2022-08-30 13:41:06
DomDocument 是否有一个选项可以删除第一行:
<?xml version="1.0" encoding="UTF-8"?>
类实例化会自动将其添加到输出中,但是否可以删除它?
DomDocument 是否有一个选项可以删除第一行:
<?xml version="1.0" encoding="UTF-8"?>
类实例化会自动将其添加到输出中,但是否可以删除它?
我认为使用 DOMDocument 是有效 XML 文件的通用解决方案:
如果已将 XML 加载到变量中:
$t_xml = new DOMDocument();
$t_xml->loadXML($xml_as_string);
$xml_out = $t_xml->saveXML($t_xml->documentElement);
对于磁盘中的 XML 文件:
$t_xml = new DOMDocument();
$t_xml->load($file_path_to_xml);
$xml_out = $t_xml->saveXML($t_xml->documentElement);
此评论有所帮助: http://www.php.net/manual/en/domdocument.savexml.php#88525
如果要输出 HTML,请使用该函数。它会自动避免大量的XML习语,并正确处理封闭/未关闭的HTML习语。saveHTML()
如果要输出 XML,则可以使用事实是 (即 XPath 表达式中的 “/”),因此可以使用 API 调用来循环访问子节点并调用每个子节点。这不会输出 XML 声明,并且会正确输出所有其他 XML 内容。DOMDocument
DOMNode
DOMNode
saveXML()
例:
$xml = get_my_document_object();
foreach ($xml->childNodes as $node) {
echo $xml->saveXML($node);
}