mro*_*ron 2 xml t-sql sql-server xquery
我在数据库中有一个 XML 列,可能看起来像这样:
<sql-connection-info name="myname" server="(local)\SQLEXPRESS" other-attribute="value" />
<oracle-connection-info name="othername" server="address" other-attribute="value" />
Run Code Online (Sandbox Code Playgroud)
等等。节点和属性的名称几乎可以是任何名称。我需要迭代第一个节点上的属性/值对。我见过的每个样本都是已知的节点/属性名称。
当我尝试使用时
@xmlColumn.query("/@*")
Run Code Online (Sandbox Code Playgroud)
我收到这个错误
XQuery [query()]:不支持顶级属性节点。
这在 TSQL 中可能吗?如果是的话我该怎么做?
declare @xmlColumn xml = '<sql-connection-info name="myname" server="(local)\SQLEXPRESS" other-attribute="value" />'
select T.N.value('local-name(.)', 'varchar(max)') as Name,
T.N.value('.', 'varchar(max)') as Value
from @xmlColumn.nodes('//@*') as T(N)
Run Code Online (Sandbox Code Playgroud)
结果:
Name Value
---------------- -------------------
name myname
server (local)\SQLEXPRESS
other-attribute value
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9764 次 |
| 最近记录: |