使用更改名称空间前缀

时间:2012-08-07 18:09:19

标签: c# sql-server xpath xquery xml-namespaces

假设我使用相同的架构从两个不同的供应商处获得两个不同的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>

2 个答案:

答案 0 :(得分:1)

XPath不关心源文档中出现什么前缀,它只关心命名空间URI。如果前缀z绑定到命名空间http://kakridge.com/schema,则// z:Item将在这两个文档中找到Item元素。

答案 1 :(得分:0)

我猜你在寻找Item的价值,Foobar?如果元素的本地名称相同,则通配符应该可以帮助您:

//*:Item/text()