PHP - Get value of XML node

ethelvienna

New Member
I have an XML file like so:\[code\]<?xml version="1.0" encoding="UTF-8"?><GeteBayDetailsResponse xmlns="urn:ebay:apis:eBLBaseComponents"> <Timestamp>2012-07-04T13:54:51.873Z</Timestamp> <Ack>Success</Ack> <Version>779</Version> <Build>E779_CORE_BUNDLED_14986049_R1</Build> <SiteDetails> <Site>US</Site> <SiteID>0</SiteID> <DetailVersion>1</DetailVersion> <UpdateTime>2009-07-09T10:48:17.000Z</UpdateTime> </SiteDetails> <SiteDetails> <Site>Canada</Site> <SiteID>2</SiteID> <DetailVersion>1</DetailVersion> <UpdateTime>2009-07-09T10:48:17.000Z</UpdateTime> </SiteDetails></GeteBayDetailsResponse>\[/code\]I am trying to find a way to get the value of the SiteID node where the Site node equals whatever.I have tried using XPath and DomDocument functions but without any luck. Some of the messed up code is below:\[code\] $xml_file ='SiteDetails.xml'; $xmlDoc = new DomDocument(); $xmlDoc->load($xml_file); $xpath = new DOMXpath($xmlDoc); $xpath->registerNamespace('ebay', 'urn:ebay:apis:eBLBaseComponents'); //$siteIDList = $xpath->query("/ebay:GeteBayDetailsResponse/ebay:SiteDetails[ebay:Site='UK']/ebay:SiteID"); //$siteIDList = $xpath->query("/GeteBayDetailsResponse/SiteDetails[Site=\"UK\"]/SiteID");//$siteIDList = $xpath->query("//*[namespace-uri()='urn:ebay:apis:eBLBaseComponents' and name()='Site' and text()='$site']/following-sibling::*[namespace-uri()='urn:ebay:apis:eBLBaseComponents' and name()='SiteID']/text()"); //var_dump($siteIDList); //echo $siteIDList->item(0)->nodeValue; /*$SiteDetails = $xmlDoc->getElementsByTagName('SiteDetails'); $count = 0; foreach($SiteDetails as $details){ // print_r($details); echo $details->nodeValue; if ($details->nodeValue =http://stackoverflow.com/questions/11342393/= $site){ echo'YEAH'; echo $details->SiteID; } $count ++; }*/ //$siteID = $siteIDNode->item(8)->nodeValue; //var_dump($siteIDNode);}\[/code\]Can anyone help? As you can see from the above, I am confused...
 
Back
Top