Wie in einer Schleife und die Anzeige (n) unter Verwendung von Beschickungen SimpleXML und position ()
Frage
Ich bin mit SimpleXML und ich möchte Schleife obwohl das Futter nur 5 zeigt Anzeige der Position () -Methode, haben aber keine Freude daran an die Arbeit
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>";
}
Alle Vorschläge, wie ich diese Arbeit bekommen
Dies ist die XML-Daten Ich arbeite mit
Keine korrekte Lösung
Andere Tipps
Das fühlt sich an wie ein Repost, aber trotzdem ...
NiseNise will Knoten sortieren dann die oben halten 5. Das Problem ist, dass diese XPath-Ausdruck wählt die ersten 5 Knoten in dem Dokument, dann ist die Methode, sie sortiert. Was Sie tun müssen, ist eine Art alle die Knoten dann verarbeiten nur die ersten 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...
}
ich habe vergessen zu erwähnen, sortedXPath()
ist nicht Teil des SimpleXML, es ist Teil einer Bibliothek erstreckt SimpleXML , daher das erneute Tagging.
Haben Sie darüber nachgedacht, dass Ihre Schleife bei item[0]
beginnen? So $i > 5
Wille Ausgang würde die ersten 6 Knoten, da die Zählung am Punkt beginnen 0. Einfach zu $i > 4
ändern und das sollte das Problem beheben.