Come loop e display (n) feed utilizzando SimpleXML e la posizione ()
Domanda
Sto usando SimpleXML e voglio ciclo anche se il feed solo di visualizzazione 5 spettacoli che utilizzano la posizione () metodo, ma non hanno alcuna gioia nel farla funzionare
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>";
}
qualche suggerimento su come posso ottenere questo lavoro
Questi sono i dati XML sto lavorando con
Nessuna soluzione corretta
Altri suggerimenti
Questo si sente come un repost, ma comunque ...
NiseNise vuole ordinare i nodi poi tenere la top 5. Il problema è che questa espressione XPath seleziona i primi 5 nodi nel documento, allora il metodo li ordina. Quello che dovete fare è sorta tutti i nodi poi elaborare solo i primi 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...
}
Ho dimenticato di dire, sortedXPath()
non fa parte del SimpleXML, è parte di un estensione SimpleXML , quindi la ri-etichettatura.
Avete considerato che il ciclo avrà inizio alle item[0]
? uscita volontà Così $i > 5
i primi 6 nodi perché il conteggio inizierà al punto 0. semplicemente cambiare a $i > 4
e che dovrebbe risolvere il problema.