#xml #xpath
#xml #xpath
Вопрос:
У меня есть XML-файл, который выглядит примерно так:
<employee emp="1" dept="55">
<name>Peter</name>
<job>Director</job>
<employee emp="12" dept="26">
<name>John</name>
<job>Animator</job>
<employee emp="123" dept="27">
<name>James</name>
<job>Assistant</job>
</employee>
</employee>
</employee>
Структура XML представляет структуру компании, и мне нужно выбрать главу компании (Director), что означает выбор корневого элемента, employee
но без employee
дочерних элементов.
Я пробовал что-то вроде /employee/*[not(child::employee)]
, но это всегда возвращает это:
<name>Peter</name>
<job>Director</job>
вместо того, что я хотел:
<employee emp="1" dept="55">
<name>Peter</name>
<job>Director</job>
</employee>
Как я могу изменить свое выражение, чтобы оно соответствовало желаемому результату?
Заранее спасибо!
Комментарии:
1. Вы не можете преобразовать xml с помощью xpath. То, что вы ищете, — это трансформация после выбора. Вы могли бы использовать xslt.
2. Или вы можете попробовать xquery.