2010-11-14 123 views
1

我正在使用SimpleDom庫並需要有關sortedxpath函數的幫助。 這裏的XML如何使用SimpleDom sortedxpath對多個屬性上的XML節點進行排序?

<cal> 
<entry entry_id="1"> 
    <entry_date year="1980" month="10" day="12" /> 
    <entry_title>John Bday</entry_title> 
</entry> 
<entry entry_id="2"> 
    <entry_date year="1980" month="10" day="10" /> 
    <entry_title>Peter Bday</entry_title> 
</entry> 
<entry entry_id="3"> 
    <entry_date year="1980" month="10" day="16" /> 
    <entry_title>Allan Bday</entry_title> 
</entry> 
</cal> 

我想根據「年」,「月」和「天」的價值觀所有的「項目」節點進行排序「ENTRY_DATE」節點的屬性,所有在倒序(最近最上面)。所以在上面的例子中,我想最後的順序爲:

entry #3 
entry #1 
entry #2 

這裏的PHP我現在有這不工作(沒有輸出):

$xml = simpledom_load_file("data.xml"); 
foreach ($xml->sortedXPath('entry', 'entry_date_start[@year]', SORT_DESC) as $i => $item) 
{ 
    echo($item); 
} 

任何幫助欣然讚賞。謝謝!

回答

1

終於找到了正確的語法,通過試錯:

foreach ($xml->sortedXPath('entry', 'entry_date/@year', SORT_DESC, 'entry_date/@month', SORT_DESC, 'entry_date/@day', SORT_DESC) as $i => $item) 
{ 
    // do stuff 
} 

我希望這可以幫助別人。謝謝閱讀。

相關問題