0

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

2 回答 2

1

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

于 2012-08-07T20:18:07.510 回答
0

我猜你正在寻找 , 和ItemFoobar?如果您的元素的本地名称相同,通配符应该可以帮助您:

//*:Item/text()
于 2012-08-07T18:30:09.633 回答