2012-10-31 66 views
0

如何检查节点中是否没有文字?我可以使用字符串($节点)=“”,因为一个节点可以是这样的XQuery,检查元素为空?

<node>    </node> 

我的意思是,它可以包含空格,但它没有文字?

回答

0

fn:normalize-space函数。

1

我们被这件事情所困扰,当检查节点是否真的有文本时,空间和换行符会导致我们一些悲伤。最后,我们创建了一个函数来检查元素的文本节点,并检查这些文本节点是否包含任何单词字符。这里是什么样子:

some $child in $node/text() satisfies (fn:matches($child, "\w+")) 

如果孩子文本节点之一具有任何单词字符,我们定义为具有文本,当然,如果它没有文本节点或有没有Word文本节点字符,我们将其定义为没有文字。