假設我使用同一模式從兩個不同的供應商處獲得兩個不同的xml文檔。他們各自選擇不同的名稱空間前綴。如何在C#和SQL Server中使用XPATH以通用方式查詢「Foo」和「Bar」的值?爲了簡便起見,該XML看起來大致是這樣的:使用更改的名稱空間前綴
文件1
<a:Item xmlns:a="http://kakridge.com/schema">Foo</a:Item>
文獻2
<b:Item xmlns:b="http://kakridge.com/schema">Bar</a:Item>
瞭解,但如果一個文檔是// z:Item和另一個文檔是// y:Item,那麼您如何整體糾正?這可能是一個實現細節,但我想我忽略前綴並定義我自己的。正如你所說,只要URI匹配,我不會指望它是一個問題。這需要一些研究。 Christian的建議實際上在SQL Server中有效。順便說一下,多年前我喜歡你的XSLT書。 – kakridge 2012-08-07 20:25:21
@kakridge:前綴無關緊要 - 它們可能不同。只要它們綁定到相同的命名空間。你可以在XPath表達式中使用* third *前綴,這兩個前綴(比如''t「')並使用't:Item'。我知道你可能不相信這個 - 試試吧。 – 2012-08-08 03:35:27
我相信。我認爲我目前所遇到的工具大多存在缺陷。 – kakridge 2012-08-08 16:30:00