2013-01-22 112 views
3

我有一些元素在我的xml裏面,標籤爲<xxx:element>轉義XPATH中的特殊字符

我想使用XPath獲取這些數據。我嘗試了一些獲取它們的方法,但迄今爲止不成功。

//xxx:element只是不返回任何東西。我猜這是因爲:字符集
//#xxx:element#給出了例外情況:「在'/'或'//'令牌後面會出現一個位置步驟。」
//'xxx:element'同樣的例外。

有什麼建議嗎?

基於choroba的答案,我發現Xml Namespace breaking my xpath!

回答

1

找到了一個使用local-name屬性的解決方案。下面的作品就好了:
// * [本地名稱()=「元素」]

2

xxx:部分是一個命名空間前綴。它應該在XPath中工作,但取決於您使用的語言,您可能需要先註冊名稱空間,然後才能使用它。

+0

都沒有涉及這個問題 - 不能老是X/y [position()= 1或position()= 2]'表達式在'Xpath1.0'和'2.0'中的寫法更簡單嗎? –

+0

@Babai:你的意思是'x/y [position()<3]'? – choroba

+0

這很酷..但是如果'x/y [position()= 1或position()= 5]'那麼呢? –

0

撒克遜// *:元素的伎倆對我