数据:
<Relationships>
<ns2:VariationChild>
<Identifiers>
<MarketplaceASIN>
<MarketplaceId>ATVPDKIKX0DER</MarketplaceId>
<ASIN>B002KT3XQC</ASIN>
</MarketplaceASIN>
</Identifiers>
<ns2:Color>Black</ns2:Color>
<ns2:Size>Small</ns2:Size>
</ns2:VariationChild>
<ns2:VariationChild>
<Identifiers>
<MarketplaceASIN>
<MarketplaceId>ATVPDKIKX0DER</MarketplaceId>
<ASIN>B002KT3XQW</ASIN>
</MarketplaceASIN>
</Identifiers>
<ns2:Color>Black</ns2:Color>
<ns2:Size>Medium</ns2:Size>
</ns2:VariationChild>
</Relationships>
Run Code Online (Sandbox Code Playgroud)
代码:
$data = simplexml_load_string($response);
foreach($data->GetMatchingProductResult AS $GetMatchingProductResult){
$Product = $GetMatchingProductResult->Product;
$Relationships = $Product->Relationships;
foreach($Relationships->children('ns2', true)->VariationChild AS $VariationChild){
$Identifiers = $VariationChild->Identifiers;
$MarketplaceASIN = $Identifiers->MarketplaceASIN;
$MarketplaceId = $MarketplaceASIN->MarketplaceId;
$ASIN = $MarketplaceASIN->ASIN;
echo "$ASIN<br />";
}
}
Run Code Online (Sandbox Code Playgroud)
这回复了回归,但没有数据,所以它实际上循环遍历XML.但是,我尝试的任何内容都不会实际返回$ ASIN变量中的数据.这是因为命名空间还是simpleXML,还是我完全错过了其他东西?
编辑:尝试过其他方法
foreach($Relationships->children('http://mws.amazonservices.com/schema/Products/2011-10-01/default.xsd', true)->VariationChild AS $VariationChild){
$Identifiers = $VariationChild->Identifiers;
$MarketplaceASIN = $Identifiers->MarketplaceASIN;
$MarketplaceId = $MarketplaceASIN->MarketplaceId;
$ASIN = $MarketplaceASIN->ASIN;
echo "[$ASIN]<br />";
} …Run Code Online (Sandbox Code Playgroud) 例如,如果我有一个名为sales的表,其值为:
??????????????????
? ITEM ? SALES ?
??????????????????
? record ? 4 ?
? cd ? 2 ?
? cd ? 5 ?
? record ? 1 ?
??????????????????
Run Code Online (Sandbox Code Playgroud)
如何编写查询以按不同项的总和进行排序,以便我的输出为:
???????????????????????
? ITEM ? TOTALSALES ?
???????????????????????
? cd ? 7 ?
? record ? 5 ?
???????????????????????
Run Code Online (Sandbox Code Playgroud)