XML-новичок здесь!
У меня есть файл, содержащий только следующий XML:
<tags> <tag>orange</tag> <tag>apple</tag> <tag>banana</tag> </tags>
Я хочу вывести теги по алфавиту.
Я пытаюсь использовать библиотеку SimpleDOM и свой метод sortedXPath . Вот что я до сих пор, что выводит теги несортированы.
$allTags = simpledom_load_file("tags.xml"); foreach ($allTags->sortedXPath("//tags/tag", "tag") as $i => $item) { echo($item); }
Может ли кто-нибудь сказать мне, как правильно писать, чтобы он работал? Ура!
В XPath вы можете ссылаться на текущий узел (называемый «узлом контекста»), используя одну точку .
поэтому, если вы обращаетесь к //tags/tag
вы должны использовать .
для получения значения tag
. Ваш пример:
$allTags = simpledom_load_file("tags.xml"); foreach ($allTags->sortedXPath("//tags/tag", ".") as $i => $item) { echo($item); }