【问题标题】:XQuery unable to select attributeXQuery 无法选择属性
【发布时间】:2014-08-14 13:04:14
【问题描述】:

为了分析一些数据,我目前正在尝试在 XQuery 中选择一个属性。不幸的是,由于某种原因,我无法选择它。

考虑示例文档

<myroot>
 <betweennode>
  <asd name="test">
   <asdasd/>
  </asd>
 </betweennode>
</myroot>

XPath /myroot/betweennode/asd/@name 经常返回 test,XQuery

for $x in /myroot/betweennode/asd
return $x

返回

<asd name="test">
   <asdasd/>
</asd>

但是 XQuery

for $x in /myroot/betweennode/asd
return $x/@name

不起作用(它在http://www.xpathtester.com/xquery 和“[SENR0001] 属性无法序列化:属性名称 {“testInitialize”} 中返回“错误 - 无法创建其父节点是文档节点的属性节点(名称)”。当我在 for 语句中使用 BaseX 和 doc('mydoc.xml')/myroot/betweennode/asd 时)。

谁能给我一个提示,为什么这不起作用,以及如何在 XQuery 中选择所有属性?

【问题讨论】:

    标签: xml xpath xquery


    【解决方案1】:

    您不能在 XQuery 中返回属性。如果您打算返回属性的值,请尝试这种方式:

    for $x in /myroot/betweennode/asd
    return data($x/@name)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-09
      • 1970-01-01
      • 1970-01-01
      • 2021-07-31
      相关资源
      最近更新 更多