使用更改命名空间前缀
本文关键字:命名空间 前缀 | 更新日期: 2024-11-07 07:18:22
假设我使用相同的架构从两个不同的供应商那里获得了两个不同的 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>
XPath 不关心源文档中出现什么前缀,它只关心命名空间 URI。如果前缀 z 绑定到命名空间 http://kakridge.com/schema,则//z:Item 将在这两个文档中找到 Item 元素。
我猜你正在寻找Item
的值,这是Foo
和bar
?如果元素的本地名称相同,通配符应该可以帮助您:
//*:Item/text()