我使用SimpleXML,我想环尽管进料只使用位置()方法来显示如图5所示,但没有喜悦在它获取到工作

foreach($xml->sortedXPath('TV[position() < 5 and ProgrammeName="MTV"]', 'TransmissionDate', SORT_DESC) as $i => $item)
{

    print "<a href='?v=".$item->ID."&a=false' class='link'>\n";
    print "\t<span class=\"text\">" .trunc($item->ShortSynopsis,25, " "). "</span>\n";
    print "\t</a>";
}

我如何能得到这个工作有什么建议

这是我与

工作的XML数据

http://deniselashlley.co.uk/test/data.xml

没有正确的解决方案

其他提示

此感觉就像一个重新发布,但无论如何...

NiseNise要排序的节点然后保持顶部5.问题是,这XPath表达式选择文档中的第一5个节点,则该方法将它们排序。你需要做的是什么样的所有的节点,然后只处理了前5。

foreach($xml->sortedXPath('TV[ProgrammeName="MTV"]', 'TransmissionDate', SORT_DESC) as $i => $item)
{
    if ($i > 5)
    {
        break;
    }

    print "<a href='?v=".$item->ID."&a=false' class='link'>\n";
    // etc...
}

我忘了提,sortedXPath()不是SimpleXML的,它的一部分延伸的SimpleXML一个库的一部分,因此重新标记。

你有没有考虑到你的循环将开始在item[0]?所以$i > 5将输出前6个节点,因为计数将开始在项目0只需将其更改为$i > 4并应解决您的问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top