我想弄清楚如何让xml节点插入(insertBefore)在顶部,而不是之后。例如:image1, image2, image3.
<data>
<image src="image3" /> <-- Notice
<image src="image2" /> <-- Notice
<image src="image1" />
</data>
$dom = new DOMDocument();
$dom->formatOutput = true;
$dom->load('myfile.xml');
$root = $dom->documentElement;
$newresult = $root->appendChild( $dom->createElement('image') );
$newresult->setAttribute('id', '10');
$newresult->setAttribute('src', pic.jpg');
$newresult->setAttribute('desc', 'Timothy');
//echo ''. $dom->saveXML() .'';
$dom->save('myfile.xml') or die('XML Manipulate Error');
谢谢!我将非常感谢你能给我的任何帮助!
不要使用appendChild()
,而要使用insertBefore()
。
$newresult = $root->appendChild( $dom->createElement('image') );
与
$newresult = $root->insertBefore($dom->createElement('image'), $root->firstChild);
修改后的代码说要在data
元素的第一个子之前插入新的image
元素。即使data
元素没有子元素,这仍然有效。