Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 是否可以访问循环中的父节点?_Loops_Xquery_Parent - Fatal编程技术网

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。请参阅我的答案,以了解您遇到的问题的解释和简单的更正。:)迪米特里,谢谢你的回答。我不明白我怎么会错过那件简单的事。