php

时间:2016-02-02 15:09:06

标签: 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="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>

为什么子孙被删除?

0 个答案:

没有答案