0

我有一个嵌套的 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 的节点并在其中附加另一个项目节点的语法是什么?

4

1 回答 1

3

首先使用simplexml然后使用搜索id xpath,然后添加孩子:

$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
于 2012-06-12T12:16:52.607 回答