SimpleDOM.php - Проблемы с sortedXPath - PullRequest
1 голос
/ 04 июня 2011

У меня небольшая проблема с использованием SimpleDOM и sortedXPath. Дана следующая структура XML. Я хочу отсортировать его по идентификатору строки, имени или дню рождения.

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

Сортировка по идентификатору оказалась простой с помощью:

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)

но это создает либо $ узлы только со значением столбца и в странном порядке, либо вообще без вывода. Пожалуйста, помогите, я застрял здесь на несколько часов: (

Привет

1 Ответ

1 голос
/ 04 июня 2011

XPath считается на основе 1.

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