我有一个类似于以下内容的XML文档:
<contents>
<module id="0">
<module id="1">
...
</contents>
我想通过'id'搜索文档,然后将一个或多个子项添加到搜索返回的节点。如何使用SimpleXML或SimpleXML / DOM的组合来实现这一目标?
答案 0 :(得分:0)
这是在简单的xml中使用xpath查询基于id搜索元素的方法:
$nodes = $xml->xpath('//DocSum[Item[@id="0"]]');
$book = $nodes[0];
添加孩子是这样的:
$book->addChild('name', 'Mr. Parser');
$book->addChild('actor', 'John Doe');
答案 1 :(得分:-1)
您可以使用PHP:DOm或PHP:SimpleXML。这取决于您想要实现的目标。
如果您只想添加新节点,请使用PHP:SimpleXML。很容易理解。但是在现有子节点的末尾添加新节点。
http://www.php.net/manual/en/simplexmlelement.addchild.php
如果要在任何特定子节点之前添加新节点。你应该使用PHP:DOm.Will会给你更多的自由,但有一点学习曲线。
假设您要在特定节点使用后添加节点: http://www.php.net/manual/en/domnode.appendchild.php
假设您要在特定节点使用之前添加节点: http://www.php.net/manual/en/domnode.insertbefore.php
希望这个帮助
〜ķ