PHP - Xml - Adding or Removing XML Nodes

来源:互联网 发布:win7怎么关闭端口 编辑:程序博客网 时间:2024/06/06 21:03

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. ?>

 

原创粉丝点击