繁体   English   中英

XQuery:返回元素的值而不是元素本身

[英]XQuery: Return value of an element rather the element itself

我有一个包含以下内容的XML文档

...
<foo>abc</foo>
...

如果我评估

return $xml//foo

我回来了

<foo>abc</foo>

有没有办法让abc代替?

是的,您需要text()函数来选择子文本:

return $xml/text()

如果你在$ xml中有嵌套的标记结构,要小心,因为这只会对文本节点有一个深度。 如果你想把所有的文本节点放在一起,去掉其他的XML结构,这将是任意深入的:

return $xml//text()

使用字符串函数获取节点的字符串内容。

return string($xml)

要仅返回元素内的数据,您可以使用:

return data($xml)

转换为xs:string {xs:string($xml/foo)}

OSB(oracle服务总线)用户可以使用以下功能。

fn-bea:serialize($xml)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM