对于此 xml(在 SQL 2005 XML 列中):
<doc>
<a>1</a>
<b ba="1" bb="2" bc="3" />
<c bd="3"/>
<doc>
我希望能够检索属性的名称(ba、bb、bc、bd),而不是SQL Server 2005中的值。好吧,XPath 确实允许使用 name() 进行此操作,但 SQL 不支持此操作。这是我对在 SQL 中使用 XML 的主要抱怨;您必须弄清楚 XML/Xpath/XQuery 规范的哪些部分在其中。
我能想到的唯一方法是构建一个 CLR proc,将 XML 加载到 XML Document (iirc) 中并运行 XPath 以提取节点的名称。我愿意接受这里的建议。