比如下面这样的一个XML
<name id=1></name>
<name id=2></name>我想在id=1的节点插入一个子节点$class = $doc->createElement('class');            
$class = $name->appendChild($class);
上面的代码应该怎么修改

解决方案 »

  1.   

    1:这是封起来了,你得看看,有没有createNode或是createChild啥的,生成子节点
    2:你再去确认一下这个appendChild是不是添加为子元素,看样子是累加到子尾
    还要确认这个$name是哪个位置,位置不对你得重取(id=1的)对象,总之看懂这两句话撒~
      

  2.   

    1、你的xml没有根标记,只能给你加上
    2、代码如下$s =<<< XML
    <root>
    <name id="1"></name>
    <name id="2"></name>
    </root>
    XML;$doc = new DOMDocument();
    $doc->loadXML($s);
    $xpath = new DOMXPath($doc);$x = $xpath->query('///*[@id="1"]')->item(0); //找到id=1的节点
    $class = $doc->createElement('class');            
    $x->appendChild($class);echo $doc->saveXML();
    <?xml version="1.0"?>
    <root>
    <name id="1"><class/></name>
    <name id="2"/>
    </root>