我有一个嵌套的xml文件,我想在某些节点下插入元素。xml 结构如下所示:
<root>
<item id="1">
<content><name>ITEM 1</name></content>
<item id="3">
<content><name>ITEM 3</name></content>
<item id="4">
<content><name>ITEM 4</name></content>
</item>
</item>
</item>
<item id="2">
<content><name>ITEM TWO</name></content>
</item>
</root>
假设我想插入某个项目作为项目 ID 4 的子项,使用 php 查找项目 4 的节点并在其中附加另一个项目节点的语法是什么?
首先使用simplexml
然后使用xpath
搜索 id,然后添加子项:
$xml = '<root>
<item id="1">
<content><name>ITEM 1</name></content>
<item id="3">
<content><name>ITEM 3</name></content>
<item id="4">
<content><name>ITEM 4</name></content>
</item>
</item>
</item>
<item id="2">
<content><name>ITEM TWO</name></content>
</item>
</root>';
$xml = simplexml_load_string($xml); // load the XML
$id = $xml->xpath("//*[@id='4']"); // search for id=4
$item = $id[0]->addChild('item'); // add another item
$item->addAttribute('id', '5'); // add id=5
$content = $item->addChild('content', ''); // add content
$content->addChild('name', 'ITEM 5'); // add name
echo $xml->asXML(); // output