importNode($node, false) 的行为在 PHP 5.2.9-2 和 PHP 5.2.17 中有所不同。
第二个选项显式设置为 false。在 PHP 5.2.9-2 中,importNode() 导入元素时不包含属性。在 PHP 5.2.17 中,导入元素时包含它们的属性。
<?php
$xml="
<html>
<a href='yandex.com'>Yandex.com</a>
<a href='rik.dn.ua'>RiK.dn.ua</a>
</html>
";
$doc=new domDocument('1.0');
$doc->loadXML($xml);
$list=$doc->getElementsByTagName('a');
$doc1=new domDocument('1.0');
$doc1->formatOutput=true;
for($i=0; $i<$list->length; $i++) $doc1->appendChild($doc1->importNode($list->item($i), false));
$doc1->save('file.xml');
?>
file.xml PHP 5.2.9-2
<?xml version="1.0"?>
<a/>
<a/>
file.xml PHP 5.2.17
<?xml version="1.0"?>
<a href="yandex.com"/>
<a href="rik.dn.ua"/>