0
我試圖選擇名爲「BATCH」的第一個祖先在XML樹中上升。在XPATH中選擇名爲「BATCH」的最近祖先
我試過了:ancestor::BATCH
和ancestor::BATCH[1]
但它不工作。
[XPATH 2.0]
我試圖選擇名爲「BATCH」的第一個祖先在XML樹中上升。在XPATH中選擇名爲「BATCH」的最近祖先
我試過了:ancestor::BATCH
和ancestor::BATCH[1]
但它不工作。
[XPATH 2.0]
你說的始祖是什麼意思?
如果你有一個XML:
<!-- second ancestor -->
<BATCH>
<a>
<!-- first ancestor -->
<BATCH>
<b></b>
</BATCH>
</a>
</BATCH>
假設您的上下文節點是<b>
你會用ancestor::BATCH[1]
選擇什麼,我描述爲始祖
然而,如果通過始祖你指的是最祖先,我在這裏定義爲第二個祖先您必須使用ancestor::BATCH[not(ancestor::BATCH)]
來選擇沒有祖先BATCH的祖先BATCH。
如果你有一個像他的評論中提及@keshlam命名空間問題,你可以使用
ancestor::*[local-name()='BATCH'][1]
要選擇它忽略了它的命名空間。
「它不工作」 - 這是沒有足夠的信息給任何人來幫助你。向我們展示**你做了什麼** - 你的xml示例,你用來查詢它的代碼; **你期望的** - 你想要的結果;和**實際發生的事情** - 你得到的結果。 – AakashM
首先檢查:是否''祖先命名空間?如果是這樣,則需要在XPath中使用名稱空間前綴,並告訴XPath處理器該前綴綁定了哪些名稱空間。 –
keshlam