2010-09-09 3 views
11

Давайте иметь дерево xml глубины N. У меня есть traveresd, последний узел означает, что я на последнем месте. Теперь я хотел вернуться на некоторый уровень вверх (скажем, в N-3) в дереве xml из этого последнего узла.Как вернуться к родительскому узлу в XML-файле с помощью запроса Xpath (с использованием XSLT)?

Пожалуйста, дайте мне знать синтаксис запроса XPATH, чтобы я мог достичь заданного узла в дереве xml.

+0

Хороший вопрос (+1). См. Мой ответ для двух коротких выражений XPath. :) –

ответ

2

Как и в файловых системах, вы можете использовать .. для ссылки на родительский узел. Таким образом, запрос ../../../ будет ссылаться на узел трех уровней вверх.

+0

Спасибо за ценный вклад. –

+0

@musikk: кроме окончательного '/'. – LarsH

26

Использование:

ancestor::node()[3] 

или

../../.. 
+5

+1 для решения предиката положения предка плюс, которое можно параметризовать – 2010-09-09 13:06:13

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

  • Нет связанных вопросов^_^