如何使用SimpleXML和位置,以循环和显示(n)的进料()
题
我使用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数据没有正确的解决方案
其他提示
此感觉就像一个重新发布,但无论如何...
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
并应解决您的问题。
不隶属于 StackOverflow