PHP:查找XML节点并插入子级

Nic*_*ard 3 php xml domdocument

我有一个具有以下结构的xml文档:

<?xml version="1.0" encoding="UTF-8"?>
<items>
  <item>
    <id>1</id>
    <url>www.test.com</url>
  </item>
  <item>
    <id>2</id>
    <url>www.test2.com</url>
  </item>
</items>
Run Code Online (Sandbox Code Playgroud)

我希望能够搜索节点值,例如id字段的值1。然后,一旦找到该节点,请选择父节点(即<item>)并在其中插入一个新的子节点。

我知道使用dom文档的概念,但不确定在这种情况下如何使用它。

cle*_*tus 5

这应该是一个开始:

$dom = new DOMDocument;
$dom->loadXML($input);
$ids = $dom->getElementsByTagName('id');
foreach ($ids as $id) {
  if ($id->nodeValue == '1') {
    $child = $dom->createElement('tagname');
    $child->appendChild($dom->createTextNode('some text'));
    $id->parentNode->appendChild($child);
  }
}
$xml = $dom->saveXML();
Run Code Online (Sandbox Code Playgroud)

或接近它的东西。