どのようにSimpleXMLはと位置を使用してループして表示する(n)はフィード()

StackOverflow https://stackoverflow.com/questions/2146182

質問

のみへの供給は、位置()メソッドを使用して5つのショーを表示するが、仕事にそれを得ることに喜びを持っていないのに

私はSimpleXMLをを使用していますが、私はループにしたい。

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データ

であります

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

正しい解決策はありません

他のヒント

これは再投稿のように感じて、とにかく...

NiseNiseソートしたいが、問題は、このXPath式は、ドキュメントの最初の5つのノードを選択し、この方法は、それらをソートすることで、トップ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をを拡張A 図書館のそれの一部の一部ではなく、言及するのを忘れてしまいましたの、したがって再タグ付けます。

あなたのループがitem[0]で開始することと考えていますか? $i > 5が出力されますので、最初の6つのノードは、カウントが0には、単に$i > 4に変更した項目から始まりますので、それはあなたの問題を解決する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top