Note that there are some explanatory texts on larger screens.

plurals
  1. POPHP XPath - how to get value from result
    text
    copied!<p>I have the followng XML file from Ebay</p> <pre><code>&lt;?xml version="1.0"?&gt; &lt;GeteBayDetailsResponse xmlns="urn:ebay:apis:eBLBaseComponents"&gt; &lt;Timestamp&gt;2012-07-04T12:02:14.541Z&lt;/Timestamp&gt; &lt;Ack&gt;Success&lt;/Ack&gt; &lt;Version&gt;779&lt;/Version&gt; &lt;Build&gt;E779_INTL_BUNDLED_14986004_R1&lt;/Build&gt; &lt;SiteDetails&gt; &lt;Site&gt;US&lt;/Site&gt; &lt;SiteID&gt;0&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;SiteDetails&gt; &lt;Site&gt;Canada&lt;/Site&gt; &lt;SiteID&gt;2&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;SiteDetails&gt; &lt;Site&gt;UK&lt;/Site&gt; &lt;SiteID&gt;3&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;SiteDetails&gt; &lt;Site&gt;Germany&lt;/Site&gt; &lt;SiteID&gt;77&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;SiteDetails&gt; &lt;Site&gt;Australia&lt;/Site&gt; &lt;SiteID&gt;15&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;SiteDetails&gt; &lt;Site&gt;France&lt;/Site&gt; &lt;SiteID&gt;71&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;SiteDetails&gt; &lt;Site&gt;eBayMotors&lt;/Site&gt; &lt;SiteID&gt;100&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;SiteDetails&gt; &lt;Site&gt;Italy&lt;/Site&gt; &lt;SiteID&gt;101&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;SiteDetails&gt; &lt;Site&gt;Netherlands&lt;/Site&gt; &lt;SiteID&gt;146&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;SiteDetails&gt; &lt;Site&gt;Spain&lt;/Site&gt; &lt;SiteID&gt;186&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;SiteDetails&gt; &lt;Site&gt;India&lt;/Site&gt; &lt;SiteID&gt;203&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;SiteDetails&gt; &lt;Site&gt;HongKong&lt;/Site&gt; &lt;SiteID&gt;201&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;SiteDetails&gt; &lt;Site&gt;Singapore&lt;/Site&gt; &lt;SiteID&gt;216&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;SiteDetails&gt; &lt;Site&gt;Malaysia&lt;/Site&gt; &lt;SiteID&gt;207&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;SiteDetails&gt; &lt;Site&gt;Philippines&lt;/Site&gt; &lt;SiteID&gt;211&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;SiteDetails&gt; &lt;Site&gt;CanadaFrench&lt;/Site&gt; &lt;SiteID&gt;210&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;SiteDetails&gt; &lt;Site&gt;Poland&lt;/Site&gt; &lt;SiteID&gt;212&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;SiteDetails&gt; &lt;Site&gt;Belgium_Dutch&lt;/Site&gt; &lt;SiteID&gt;123&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;SiteDetails&gt; &lt;Site&gt;Belgium_French&lt;/Site&gt; &lt;SiteID&gt;23&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;SiteDetails&gt; &lt;Site&gt;Austria&lt;/Site&gt; &lt;SiteID&gt;16&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;SiteDetails&gt; &lt;Site&gt;Switzerland&lt;/Site&gt; &lt;SiteID&gt;193&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;SiteDetails&gt; &lt;Site&gt;Ireland&lt;/Site&gt; &lt;SiteID&gt;205&lt;/SiteID&gt; &lt;DetailVersion&gt;1&lt;/DetailVersion&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/SiteDetails&gt; &lt;UpdateTime&gt;2009-07-09T10:48:17.000Z&lt;/UpdateTime&gt; &lt;/GeteBayDetailsResponse&gt; </code></pre> <p>I need to get the value of node SiteID where the node Site matches whatever variable I pass. The code I have is:</p> <pre><code>$xml_file ='SiteDetails.xml'; $xmlDoc = new DomDocument(); $xmlDoc-&gt;load($xml_file); $xpath = new DOMXpath($xmlDoc); $siteIDList = $xpath-&gt;query("/GeteBayDetailsResponse/SiteDetails[Site=$site]/SiteID"); var_dump($siteIDList); echo $siteIDList-&gt;SiteID; </code></pre> <p>I get the following result:</p> <pre><code>object(DOMNodeList)#11 (0) { } </code></pre> <p>Can anyone help? I want to get a value of 3.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload