008.phpt 882 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. --TEST--
  2. SimpleXML: XPath
  3. --SKIPIF--
  4. <?php if (!extension_loaded("simplexml")) print "skip"; ?>
  5. --FILE--
  6. <?php
  7. $xml =<<<EOF
  8. <?xml version='1.0'?>
  9. <!DOCTYPE sxe SYSTEM "notfound.dtd">
  10. <sxe id="elem1">
  11. <elem1 attr1='first'>
  12. <!-- comment -->
  13. <elem2>
  14. <elem3>
  15. <elem4>
  16. <?test processing instruction ?>
  17. </elem4>
  18. </elem3>
  19. </elem2>
  20. </elem1>
  21. </sxe>
  22. EOF;
  23. $sxe = simplexml_load_string($xml);
  24. var_dump($sxe->xpath("elem1/elem2/elem3/elem4"));
  25. //valid expression
  26. var_dump($sxe->xpath("***"));
  27. //invalid expression
  28. var_dump($sxe->xpath("**"));
  29. ?>
  30. --EXPECTF--
  31. array(1) {
  32. [0]=>
  33. object(SimpleXMLElement)#%d (1) {
  34. ["test"]=>
  35. object(SimpleXMLElement)#%d (0) {
  36. }
  37. }
  38. }
  39. array(0) {
  40. }
  41. Warning: SimpleXMLElement::xpath(): Invalid expression in %s on line %d
  42. Warning: SimpleXMLElement::xpath(): xmlXPathEval: evaluation failed in %s on line %d
  43. bool(false)