用php进行xml编辑
我在用php编辑xml文件时遇到问题。这是我的xml,我使用DOM创建它:用php进行xml编辑,php,xml,xml-parsing,Php,Xml,Xml Parsing,我在用php编辑xml文件时遇到问题。这是我的xml,我使用DOM创建它: <?xml version="1.0" encoding="UTF-8"?> <root> <node1/> <node2> <child id="child1"> <subchild1/> <subchild2/> </child> <child id="chil
<?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>
它起作用了,但是它删除了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>
文本
为什么要删除子类???首先,使用XPath通过id访问元素是过分的,因为您可以使用
DOMDocument::getElementById
(id是唯一的,所以不需要描述任何路径)。您想在subchilds元素之前还是之后插入文本?@CasimiretHippolyte我试图使用它,但无法使其工作,因为它返回可能重复的@CasimiretHippolyte抱歉,我刚才看到了您的编辑,我已经解决了,我忘了在xpath查询中添加/subchild1,现在它工作了!
<?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>