我正嘗試在Sql Server中使用XPath來選擇以下xml文檔的Lookup.Result元素的文本節點。使用XPath選擇名稱中帶有點的xml節點
<Commands>
<Command id="1">
<Lookup.Result>Result.OK</Lookup.Result>
</Command>
</Commands>
我嘗試以下查詢:
declare @xml xml
set @xml = '<Commands>
<Command id="1">
<Lookup.Result>Result.OK</Lookup.Result>
</Command>
</Commands>
'
select t.c.value('./Lookup.Result/text()[1]', 'varchar(20)')
from @xml.nodes('/Commands/Command') t(c)
,但我得到了以下錯誤: 的XQuery [值()]:語法錯誤附近 '查找'
我如何能逃脫。 (Lookup.Result元素標記名稱中的點)在XPath表達式中? 請幫忙找到一個優雅的解決方案來解決這個問題。 預先感謝您的時間。
你說得對。調試時有很多組合,我在其中一個組合中省略了括號...... :))現在可以工作。似乎一個點總是被解釋爲當前節點,但似乎在某些情況下它被認爲只是一個文本。謝謝。 – Vakho 2013-04-05 13:06:39
@ user2248972沒問題。如果您願意,您可以將答案標記爲已接受。 – Filip 2013-04-05 13:59:27