在SimpleXMLElement对象中获取18个第一个结果

时间:2012-01-11 12:14:26

标签: php xml-parsing slice

我有这个xml响应,我将做一个

foreach($response->entry->item as $data)

但$ data包含的数组(20)比我需要的多(18)。所以我尝试做array_slice,但是你知道它不起作用。

我可以尝试哪些其他解决方案?

1 个答案:

答案 0 :(得分:1)

您可以尝试通过xpath从xml中选择的数据限制结果集。

$string = <<<XML
<?xml version='1.0'?>
    <document>
        <item id="1" />
        <item id="2" />
        <item id="3" />
        <item id="4" />
        <item id="5" />
        <item id="6" />
    </document>
XML;

$xml = simplexml_load_string($string);
var_dump($xml->xpath("//item[@id>2 and @id<5]")) // Prints the two nodes matching the condition from the xpath

正如评论中所建议的那样,您也可以使用for而不是foreach循环遍历数组,并限制迭代次数。