在PHP中,使用simplexml_load_file&循环遍历所有xml节点和子节点。的foreach

时间:2015-07-07 00:14:16

标签: php xml

Given this XML document

我的代码:

    $xml = simplexml_load_file($url);
    $table = array();
    foreach ($xml->entry as $item) {
        foreach ($item->summary->div->blockquote as $block) {

                $element = array();
                $element['title'] = $block->p;
                $element['updated'] = strtotime($item->updated, time());
                $table[$element['updated']] = $element;

        }
    }

我想插入所有" p" " blockquote"的值节点并将它们放入一个数组中。但它只能获得最后一个" blockquote"节点,不是全部。

我明白了:

Warning: Invalid argument supplied for foreach() on line foreach ($item->summary->div->blockquote as $block) {

我需要帮助。

1 个答案:

答案 0 :(得分:0)

这部分代码:

$element['updated'] = strtotime($item->updated, time());

对于所有元素似乎总是相同的,并且可能会覆盖所有数组。

你的$item在你的第二个循环中似乎总是一样。