Nasıl döngü ve ekran (n) SimpleXML ve konumunu kullanarak beslemeleri ()

2 Cevap php

Ben SimpleXML kullanıyorum ve ben sadece ekran besleme pozisyonu () yöntemi kullanılarak 5 gösterileri olsa döngü istiyorum, ama çalışmak için elde hiçbir sevinç

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>";
}

Ben bu çalışma almak konusunda herhangi bir öneriniz

Bu birlikte çalışıyorum XML veri

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

2 Cevap

Bu zaten bir repost gibi hissediyor, ama ...

NiseNise sonra düğümlerini sıralamak top 5 tutmak istiyor. Sorun bu XPath ifadesi, belgedeki ilk 5 düğümleri seçer sonra yöntem sıralar onları olmasıdır. Yapmanız gereken sıralama all düğümleri sonra sadece ilk 5 işlemek olduğunu.

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...
}

Ben söylemeyi unuttum, sortedXPath() SimpleXML parçası değil, bir library extending SimpleXML, dolayısıyla retagging parçası.

Eğer döngü item[0] başlayacak düşündünüz mü? Yani $i > 5 çıkışı ilk 6 düğümlerin sayısı Simply $i > 4 olarak değiştirin. Öğe 0 de başlayacağını ve bu sorunu düzeltmek gerekir, çünkü olacak.