SimpleXML and xpath woes

From: Date: Wed, 16 Mar 2005 17:39:47 +0000
Subject: SimpleXML and xpath woes
Groups: php.general 
Request: Send a blank email to php-general+get-210945@lists.php.net to get a copy of this message
Hi all, (Apologies for the larger than normal wrapping - there are some long lines) I'm playing with SimpleXML for reading REST responses from Amazon Web Services. Having successfuly read the response to my request I'd like to perform an xpath query on the result. I've pared down the original response to a static XML file for testing purposes containing the following: <ItemLookupResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2005-02-23"> <OperationRequest> <HTTPHeaders> <Header Name="UserAgent"/> </HTTPHeaders> <RequestId>0MTRFP41HYDBPAEM41Q5</RequestId> <Arguments> <Argument Name="Service" Value="AWSECommerceService"/> <Argument Name="SubscriptionId" Value="055S8QK9GNAKPNMYQZ02"/> <Argument Name="ItemId" Value="0201788977"/> <Argument Name="Operation" Value="ItemLookup"/> </Arguments><RequestProcessingTime>0.0166029930114746</RequestProcessingTime> </OperationRequest> <Items> <Request> <IsValid>True</IsValid> <ItemLookupRequest> <ItemId>0201788977</ItemId> </ItemLookupRequest> </Request> <Item> <ASIN>0201788977</ASIN> <ItemAttributes> <Author>Hesham Soliman</Author> <ProductGroup>Book</ProductGroup> <Title>Mobile IPv6 : Mobility in a Wireless Internet</Title> </ItemAttributes> </Item> </Items> </ItemLookupResponse> The code looks like this: $xml = simplexml_load_file('test.xml'); $result = $xml->xpath($query); var_dump($result); When: $query = '//*'; Everything is fine and an enormous array of matching elements is returned. However, when: $query = '//ItemLookupResponse'; var_dump returns: array(0) { } Either a) I'm doing something terribly wrong (and I thought that I was attempting a pretty simple xpath query) or b) SimpleXML's broken. I'd prefer a) - it's easier to fix :) Thanks a bunch, Simon Turvey

« previous php.general (#210945) next »