SimpleDOM.php - sortedXPath的问题

时间:2011-06-04 16:15:29

标签: php xml sorting simpledom

我对SimpleDOM和sortedXPath的使用有点问题。 给出以下XML结构。我想按行ID,姓名或生日来排序。

<table>
  <data>
    <row id="1">
      <column>Jimmy</column>
      <column>01/10/1977</column>
     </row>
     <row id="3">
       <column>Johnny</column>
       <column>04/01/2001</column>
     </row>
     <row id="2">
       <column>Tim</column>
       <column>13/02/1990</column>
     </row>
     <row id="4">
       <column>Paul</column>
       <column>13/02/1955</column>
     </row>
   </data>
</table>

使用以下内容对id排序结果很简单:

foreach($xmlObject->data->sortedXPath('row','@id', SORT_DESC) as $node)

所以$ node包含所有行,我可以按正确的顺序输出它们。但我无法按名称或日期订购。我试过了:

foreach($xmlObject->data->sortedXPath('row','column[0]', SORT_DESC) as $node)
foreach($xmlObject->data->sortedXPath('row/column[0]','.', SORT_ASC) as $node)

但是这会创建$ nodes,只有column的值,在奇怪的oder中或根本没有输出。请帮助我在这里坚持几个小时:(

此致

1 个答案:

答案 0 :(得分:1)

XPath计数从1开始。

foreach($xmlObject->data->sortedXPath('row','column[1]', SORT_DESC) as $node)