2010-11-28 3 views
1

XML новичок здесь!
У меня есть файл, содержащий только следующий XML:Как использовать SimpleDOM sortedXPath для сортировки по значению узла?

<tags> 
<tag>orange</tag> 
<tag>apple</tag> 
<tag>banana</tag> 
</tags> 

Я хочу Ouput теги в алфавитном порядке.
Я пытаюсь использовать библиотеку SimpleDOM и ее метод sortedXPath. Вот что я до сих пор, что выводит теги несортированы.

$allTags = simpledom_load_file("tags.xml"); 
foreach ($allTags->sortedXPath("//tags/tag", "tag") as $i => $item) 
{ 
    echo($item); 
} 

Может ли кто-нибудь сказать мне, как правильно это записать, чтобы он работал? Ура!

ответ

1

В XPath, вы можете передать текущий узел (называемый «узел контекста»), используя одну точку . так, если вы обращаетесь //tags/tag вы должны использовать ., чтобы получить значение tag. Ваш пример будет следующим:

$allTags = simpledom_load_file("tags.xml"); 
foreach ($allTags->sortedXPath("//tags/tag", ".") as $i => $item) 
{ 
    echo($item); 
} 
+0

Большое спасибо! Это было прекрасно. – Kerans 2010-11-28 22:03:32

Смежные вопросы