2011-02-19 3 views
1

у меня есть этот XML структуру:Проблема с SimpleDOM и sortedXPath

<album _mngid="1"> 
    <contentxmlurl>alb_1.xml</contentxmlurl> 
    <contentnumber>15</contentnumber> 
    <thumb> 
     <url>albthumbs/albth_1.jpg</url> 
    </thumb> 
</album> 


    <album _mngid="2"> 
    <contentxmlurl>alb_2.xml</contentxmlurl> 
    <contentnumber>35</contentnumber> 
    <thumb> 
     <url>albthumbs/albth_2.jpg</url> 
    </thumb> 
     </album> 


    <album _mngid="3"> 
    <contentxmlurl>alb_3.xml</contentxmlurl> 
    <contentnumber>3</contentnumber> 
    <thumb> 
     <url>albthumbs/albth_3.jpg</url> 
    </thumb> 
    </album> 

Я хотел бы заказать ди XML-файл с помощью Evalue из '' _mngid атрибута, но у меня много проблем .. :(

Лучшее, что я пробовал: fo ($ xml-> sortedXPath ('collection/album', '/ @ _ mngid', SORT_DESC) как $ album) {

, но я получаю этот заказ: 1,2,12,3,10,4,14 , 5,9,6,11,7,13,8,15 (в файле XML у меня теперь 15 элементов).

Можете ли вы помочь мне, чтобы понять правильный путь?

Спасибо большое! bye bye

+0

В XPath 1.0 нет механизма сортировки. Поэтому этот вопрос касается только не стандартного метода sortedXPath вашего движка XPath. Работа с тегами. –

+0

Привет, извините, но я не понимаю, что я делаю .. :) Мне нужно изменить тег моего обсуждения? Я должен удалить «xpathengines»? Я использую SimpleDOM, и я должен сортировать узел моего xml-файла. Пожалуйста, скажите мне, что я должен делать! Огромное спасибо! пока – Delizard

ответ

0

Вы используете /@_mngid, что соответствует корневому узлу. Если вы хотите выбрать атрибут текущего узла, используйте @_mngid. Например:

foreach($xml->sortedXPath('collection/album','@_mngid', SORT_DESC) as $album) { 
Смежные вопросы