0
我有一個元素的結構如下所示:的XPath如何檢查的祖先元素具有一定的名字
<template>
<x name="foo">
<y>
<x>
<a>
<b number="1" />
<c>2</c>
</a>
</x>
<c>5</c>
</y>
</x>
</template>
我需要它,因此b
元素只能在a
只要存在的祖先之一是一個帶有名字的x
。我有一套備選方案,但我無法通過測試。這是我認爲會工作:
ancestor::x[@name]
但我沒有得到任何結果。我唯一幸運的xpath是這樣的:
ancestor::node()
誰能告訴我我失蹤了什麼?
編輯:
我使用Java的Xerces 2.11庫加載XSD文件,其中包括標籤。
嗯......這個XPath能夠返回給定的XML結果:'// b [ancestor :: x [@name]]' – har07
'ancestor :: x [@name]'應該在正確的上下文中工作。您可能需要展示更多上下文才能解決問題。 – LarsH