dom002.phpt 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. --TEST--
  2. Test 2: getElementsByTagName() / getElementsByTagNameNS()
  3. --EXTENSIONS--
  4. dom
  5. --FILE--
  6. <?php
  7. $xml = <<<HERE
  8. <?xml version="1.0" encoding="ISO-8859-1" ?>
  9. <foo xmlns="http://www.example.com/ns/foo"
  10. xmlns:fubar="http://www.example.com/ns/fubar">
  11. <bar><test1 /></bar>
  12. <bar><test2 /></bar>
  13. <fubar:bar><test3 /></fubar:bar>
  14. <fubar:bar><test4 /></fubar:bar>
  15. </foo>
  16. HERE;
  17. function dump($elems) {
  18. foreach ($elems as $elem) {
  19. var_dump($elem->nodeName);
  20. dump($elem->childNodes);
  21. }
  22. }
  23. $dom = new DOMDocument();
  24. $dom->loadXML($xml);
  25. $doc = $dom->documentElement;
  26. dump($dom->getElementsByTagName('bar'));
  27. dump($doc->getElementsByTagName('bar'));
  28. dump($dom->getElementsByTagNameNS('http://www.example.com/ns/fubar', 'bar'));
  29. dump($doc->getElementsByTagNameNS('http://www.example.com/ns/fubar', 'bar'));
  30. ?>
  31. --EXPECT--
  32. string(3) "bar"
  33. string(5) "test1"
  34. string(3) "bar"
  35. string(5) "test2"
  36. string(9) "fubar:bar"
  37. string(5) "test3"
  38. string(9) "fubar:bar"
  39. string(5) "test4"
  40. string(3) "bar"
  41. string(5) "test1"
  42. string(3) "bar"
  43. string(5) "test2"
  44. string(9) "fubar:bar"
  45. string(5) "test3"
  46. string(9) "fubar:bar"
  47. string(5) "test4"
  48. string(9) "fubar:bar"
  49. string(5) "test3"
  50. string(9) "fubar:bar"
  51. string(5) "test4"
  52. string(9) "fubar:bar"
  53. string(5) "test3"
  54. string(9) "fubar:bar"
  55. string(5) "test4"