【发布时间】:2012-10-17 22:53:35
【问题描述】:
我正在尝试在 xquery 中使用以下代码获取节点的所有属性,从逻辑上讲它应该可以工作,但它不是
对于 $n 在 $nodes 返回 $n/@*
【问题讨论】:
-
“它不是”到底是什么意思?它是给您错误、返回意外结果还是不返回任何结果?
标签: attributes xquery nodes
我正在尝试在 xquery 中使用以下代码获取节点的所有属性,从逻辑上讲它应该可以工作,但它不是
对于 $n 在 $nodes 返回 $n/@*
【问题讨论】:
标签: attributes xquery nodes
属性节点必须是元素节点的属性,结果树不能包含独立的属性节点。
如果您想为每个属性生成一系列名称 - 值,请执行以下操作:
for $attr in $nodes/@*
return
(name($attr), string($attr), '
')
例如,给定以下 XML 文档:
<t topA="1">
<a x="2" z="3">
<b message="Hello"/>
</a>
<c y="5"/>
</t>
并将此查询应用于它:
for $nodes in //*,
$attr in $nodes/@*
return
(name($attr), string($attr), '
')
结果是:
topA 1
x 2
z 3
message Hello
y 5
【讨论】:
$nodes 的查询部分。请。