【发布时间】:2014-08-25 04:17:54
【问题描述】:
我尝试获取以下 XML 文件的所有 BrowseNodeId:
<?xml version="1.0" ?>
<ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2013-08-01">
<OperationRequest>
<RequestId>00ffd0c4-65b8-40ed-96b3-dbee109c508e</RequestId>
<Arguments>
<Argument Name="Condition" Value="All"></Argument>
<Argument Name="region" Value="com"></Argument>
</Arguments>
<RequestProcessingTime>0.0428190000000000</RequestProcessingTime>
</OperationRequest>
<Items>
<Request>
<IsValid>True</IsValid>
<ItemSearchRequest>
<Condition>All</Condition>
<Keywords>0321185587</Keywords>
<ResponseGroup>BrowseNodes</ResponseGroup>
<SearchIndex>Books</SearchIndex>
</ItemSearchRequest>
</Request>
<TotalResults>1</TotalResults>
<TotalPages>1</TotalPages>
<Item>
<ASIN>0321185587</ASIN>
<BrowseNodes>
<BrowseNode>
<BrowseNodeId>21</BrowseNodeId>
<Name>Reference</Name>
<Children>
<BrowseNode>
<BrowseNodeId>11444</BrowseNodeId>
<Name>Almanacs & Yearbooks</Name>
</BrowseNode>
<BrowseNode>
<BrowseNodeId>11448</BrowseNodeId>
<Name>Atlases & Maps</Name>
</BrowseNode>
<BrowseNode>
<BrowseNodeId>2572</BrowseNodeId>
<Name>Careers</Name>
</BrowseNode>
</Children>
</BrowseNode>
</BrowseNodes>
</Item>
</Items>
</ItemSearchResponse>
这是我使用的 PHP 代码:
$xml= simplexml_load_file($xml_file);
foreach ($xml->xpath('//BrowseNode') as $node) {
echo $node->BrowseNodeId.":".$node->Name."<br>";
}
但结果为 NULL。我不擅长 XML,所以我不知道我错在哪里。谁能告诉我这个案例的正确 xpath 语法吗?
【问题讨论】: