我正在使用Amazon API,他们发送的是XML格式的响应。我正在尝试对数据进行排序,但由于我正在寻找15个不同的标签,我不确定如何解决这个问题。我知道有dom->getElementByTagName('')
。我想知道如何找到所有15个结果。答复如下:
<GetMatchingProductForIdResult Id="082686322638" IdType="UPC" status="Success">
<ns2:ListPrice>
<ns2:Amount>9.99</ns2:Amount>
<ns2:CurrencyCode>USD</ns2:CurrencyCode>
</ns2:ListPrice>
<SalesRankings>
<SalesRank>
<ProductCategoryId>toy_display_on_website</ProductCategoryId>
<Rank>4150</Rank>
</SalesRank>
<SalesRank>
<ProductCategoryId>2229575011</ProductCategoryId>
<Rank>8</Rank>
</SalesRank>
</SalesRankings>
</GetMatchingProductForIdResult>
重复3次。
我正在寻找:
<GetMatchingProductForIdResult Id="082686322638" IdType="UPC" status="Success">
<ns2:Amount></ns2:Amount>
<SalesRank>
<ProductCategoryId>toy_display_on_website</ProductCategoryId>
<Rank>4150</Rank>
</SalesRank>
如何将所有3个标签添加到我的代码中?
到目前为止,我有这个:
foreach($xml->children() as $items) {
echo $items->GetMatchingProductForIdResult['Id'] . ',';
echo $items->Product->SalesRankings->SalesRank->Rank . ", ";
echo $items->Products->Product->ns2:Amount . ", "; }
答案 0 :(得分:0)
假设您特别希望Id
的{{1}} GetMatchingProductForIdResult
等于&#34; UPC&#34;,
IdType
然后$dom = new DOMDocument();
$dom->loadXML($xml);
$xpath = new DOMXPath($dom);
$id = $xpath->query("//GetMatchingProductForIdResult[@IdType='UPC']/@Id");
将按要求$id
。