我正在使用PHP 5.6。
我正在使用亚马逊API并从产品搜索中获取一些产品。
我将原始xml字符串返回并使用
将其加载到simplexml中$xml = simplexml_load_string($result);
现在,如果我这样做
print_r($xml->response->Items);
我得到(浓缩):
SimpleXMLElement Object
(
[Request] => SimpleXMLElement Object
(
[IsValid] => True
)
[TotalResults] => 8914365
[TotalPages] => 891437
[Item] => Array
(
[0] => SimpleXMLElement Object
(
[ASIN] => B00QJDO0QC
[ParentASIN] => B00U879AII
)
[1] => SimpleXMLElement Object
(
[ASIN] => B01HDUE8HE
[ParentASIN] => 000000000
)
[2] => SimpleXMLElement Object
(
[ASIN] => B72HEUD9HE
[ParentASIN] => 000000000
)
)
)
所以我想隔离'项目'数组,所以我可以处理返回的项目。所以我显然会这样做:
$items = $xml->response->Items->Item;
但是现在如果我做了
print_r($items);
我没有获得这三个元素,我只是打印出FIRST $ items元素,如下所示:
SimpleXMLElement Object
(
[ASIN] => B00QJDO0QC
[ParentASIN] => B00U879AII
)
我在这里阅读:Why does SimpleXML change my array to the array's first element when I use it?您需要使用 - > children()方法。所以我试过了:
print_r($items->children());
输出仍然相同。
任何人都可以帮助我吗?