我在使用php编辑xml文件时遇到了问题。这是我的xml,我用DOM来创建它:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<node1/>
<node2>
<child id="child1">
<subchild1/>
<subchild2/>
</child>
<child id="child2">
<subchild1/>
<subchild2/>
</child>
<child id="child3">
<subchild1/>
<subchild2/>
</child>
</node2>
</root>
我必须通过id在节点中插入文本,稍后我会为子孙后插入ID ...所以我使用了那段代码:
$dom = new DOMDocument();
$dom->load('documento.xml');
$library = $dom->documentElement;
$xpath = new DOMXPath($dom);
$result = $xpath->query('/root/node2/child[@id="child1"]');
$result->item(0)->nodeValue .= "text";
它有效,但它删除了subchild1和subchild2,所以现在我已经有了这个,你可以看到那里的空间:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<node1/>
<node2>
<child id="child1">
text</child>
<child id="child2">
<subchild1/>
<subchild2/>
</child>
<child id="child3">
<subchild1/>
<subchild2/>
</child>
</node2>
</root>
为什么子孙被删除?