使用PHP simpleXml将子项添加到xml

mes*_*cka 7 php editor simplexml

我有simpleXml的问题和添加新项目.这是我的xml:

<?xml version="1.0" encoding="utf-8"?>
<root>
  <items>               
    <item>abc</item>
    <item>def</item>
    <item>ghi</item>
</items>
</root>
Run Code Online (Sandbox Code Playgroud)

我使用这个PHP代码:

$xml = simplexml_load_file("myxml.xml");
$sxe = new SimpleXMLElement($xml->asXML());
$newItem = $sxe->addChild("items");
$newItem->addChild("item", $newValue);
$sxe->asXML("myxml.xml"); 
Run Code Online (Sandbox Code Playgroud)

这是结果:

<?xml version="1.0" encoding="utf-8"?>
    <root>
      <items>               
        <item>abc</item>
        <item>def</item>
        <item>ghi</item>
      </items>
      <items>
        <item>jkl</item>
      </items>
    </root>
Run Code Online (Sandbox Code Playgroud)

这会创建新项目节点,但我想将项目添加到相同的现有项目节点.

Ser*_*min 10

那么,你不应该创建新的项目节点:

$xml = simplexml_load_file("myxml.xml");
$sxe = new SimpleXMLElement($xml->asXML());
$itemsNode = $sxe->items[0];
$itemsNode->addChild("item", $newValue);
$sxe->asXML("myxml.xml"); 
Run Code Online (Sandbox Code Playgroud)