PHP - Xml - Adding or Removing XML Nodes

Use the appendChild(), replaceChild(), and removeChild() methods from PHP's DOM extension:

  1. <?php
  2. // define XML data string
  3. $xmlData = <<< END
  4. <?xml version="1.0"?>
  5. <favorites>
  6.     <pet>Humphrey Hippo</pet>
  7.     <flavor>chocolate</flavor>
  8.     <movie>Star Wars</movie>
  9. </favorites>
  10. END;
  11. // read XML data
  12. $xml = new DOMDocument();
  13. $xml->formatOutput = true;        // format output
  14. $xml->preserveWhiteSpace = false; // discount whitespace
  15. $xml->loadXML($xmlDataor die("ERROR: ↩
  16. Cannot create DOMDocument object");
  17. // print the original XML tree
  18. echo "<xmp>OLD:/n" . $xml->saveXML() . "</xmp>";
  19. // get document element
  20. $root = $xml->documentElement;
  21. // add a node before <movie>
  22. $movie = $root->childNodes->item(2);
  23. $book = $xml->createElement("book");
  24. $root->insertBefore($book$movie);
  25. $book->appendChild($xml->createTextNode("The Lord Of The Rings"));
  26. // add a node after <movie>
  27. $toy = $xml->createElement("toy");
  28. $toy->appendChild($xml->createTextNode("Stuffed bear"));
  29. $root->appendChild($toy);
  30. // replace <flavor> with <icecream> $flavour = $root->childNodes->item(1); $icecream = $xml->createElement("icecream");
  31. $icecream->appendChild($xml->createTextNode("strawberry")); $root->replaceChild($icecream$flavour);
  32. // delete <movie>
  33. $movie = $root->childNodes->item(3);
  34. $root->removeChild($movie);
  35. // print the modified XML tree
  36. echo "<xmp>NEW:/n" . $xml->saveXML() . "</xmp>";
  37. ?>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值