如何将child添加到特定节点

时间:2012-03-14 17:03:27

标签: php xml

这是我的首发xml:

 <?xml version="1.0" encoding="utf-8"?>
    <root>
      <child>
        <children></children>
     </child>
    </root>

我想在孩子中加入其他孩子?但是我正在努力,没有什么我不知道怎么......:S帮助我想要我的xml是这样的

  <?xml version="1.0" encoding="utf-8"?>
    <root>
      <child>
        <children></children>
        <children></children>
     </child>
    </root>

这是我的代码:

<?php
            $dom = new DomDocument;
            //$dom->preserveWhiteSpace = FALSE;
            $dom->load("myXML.xml");
            $root = $dom->getElementById('root');
            $params = $dom->getElementsByTagName('child');
            $cantidadCategorias = $params->length+1;

            $newElement = $dom->createElement('child','');
            $dom->appendChild($newElement);
            $f = fopen("myXML.xml",'w+'); 
            fwrite($f,$dom->saveXML()); 
            fclose($f); 

3 个答案:

答案 0 :(得分:5)

使用DOMDocument就像这样简单:

$child = new DOMElement('children');
$parent->appendChild($child);

$parentDOMElement父母(在您更新问题之后)获取问题是问题的一部分:

// append <children> to the first <child> element
$parent = $dom->getElementsByTagName('child')->item(0);
$child = new DOMElement('children');
$parent->appendChild($child);

答案 1 :(得分:0)

由于你已经标记了php,我假设你正在寻找PHP的解决方案 你有没有尝试过以下几点:

$myxml = new SimpleXMLElement($xmlstr);
$myxml->child[0]->addChild('children');

有关PHP中XML操作的一组很好的示例,请参阅:http://www.php.net/manual/en/simplexml.examples-basic.php

答案 2 :(得分:0)

有关如何附加XML节点的一些很好的示例可以在PHP手册中找到。像one这样关于如何使用SimpleXMLElement类添加子节点。