2010-11-19 60 views
2

我有这样一个循环:是否有可能访问循环内的父节点?

for $a in local:distinct-nodes($x/input/book[@stat = 'ok']) 
let $b:=string($a/../input/@docid) 

这将返回一个空字符串($ b为空)。所以,我想知道如何在这种情况下访问父节点。我真的不想从根目录访问它(// xxxx),因为XML文件非常大。

+0

问得好,+1。请参阅我的回答以解释您所遇到的问题并进行简单的更正。 :) – 2010-11-20 17:55:32

回答

2

我有这样一个循环:

for $a in local:distinct-nodes($x/input/book[@stat = 'ok']) 
let $b:=string($a/../input/@docid) 

这将返回一个空字符串($b是 空)。

是的,这是应该生产的。

所有$ a节点都是book元素。

$a/.. 

input元素

$a/../input 

input/input元素,但最有可能input要素不具有input孩子。

你想要的是

$a/../@docid 
+0

Dimitre,谢谢你的答案。我无法理解我怎么会错过这个简单的事情。 – user3111525 2010-11-22 07:42:11

相关问题