Loops 是否可以访问循环中的父节点?
我有一个这样的循环:Loops 是否可以访问循环中的父节点?,loops,xquery,parent,Loops,Xquery,Parent,我有一个这样的循环: for $a in local:distinct-nodes($x/input/book[@stat = 'ok']) let $b:=string($a/../input/@docid) for $a in local:distinct-nodes($x/input/book[@stat = 'ok']) let $b:=string($a/../input/@docid) 这将返回一个空字符串($b为空)。因此,我想知道在这种情况下如何访问父节点。我真的不想
for $a in local:distinct-nodes($x/input/book[@stat = 'ok'])
let $b:=string($a/../input/@docid)
for $a in local:distinct-nodes($x/input/book[@stat = 'ok'])
let $b:=string($a/../input/@docid)
这将返回一个空字符串($b为空)。因此,我想知道在这种情况下如何访问父节点。我真的不想从根(//xxxx)访问它,因为XML文件相当大
我有一个这样的循环:
for $a in local:distinct-nodes($x/input/book[@stat = 'ok'])
let $b:=string($a/../input/@docid)
for $a in local:distinct-nodes($x/input/book[@stat = 'ok'])
let $b:=string($a/../input/@docid)
这将返回一个空字符串($b
为空)
空的)
是的,这是应该生产的
所有$a节点都是book
元素
$a/..
是输入
元素
$a/../input
应该是input/input
元素,但很可能input
元素没有input
子元素
您想要的是:
$a/../@docid
好问题,+1。请参阅我的答案,以了解您遇到的问题的解释和简单的更正。:)迪米特里,谢谢你的回答。我不明白我怎么会错过那件简单的事。