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

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

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top