Simplexml只显示第一个数组元素,即使是children()方法

时间:2016-01-10 17:35:30

标签: php multidimensional-array simplexml

我正在使用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());

输出仍然相同。

任何人都可以帮助我吗?

0 个答案:

没有答案
相关问题