我不是XQuery的专家,我不得不搜索大量文件, XML文档有这样的结构,
<files>
<file>
<name>1</name>
<contents>
<content>games</content>
<content>movies</content>
</contents>
</file>
<file>
<name>2</name>
<contents>
<content>games</content>
<content>picture</content>
<content>work</content>
</contents>
</file>
它就像用户我有一组内容,如可能(“游戏”,“电影”),我必须返回名称
到目前为止我只写了这个
for $x in /files/file
return $x/content
我想知道XQuery是否可以实现这一点?如果可能的话,给我一些指导,我不知道所有xquery结构,这是我的主要缺点
答案 0 :(得分:0)
您必须在xpath中提供contents
元素,因为它包含content
元素值。
如果你只想要content
for $x in /files/file/contents/content
return xs:string($x)
你也可以试试这个
for $x in /files/file/contents/content
return $x/text()
答案 1 :(得分:0)
你可以试试这个:
let $data:=
<files>
<file>
<name>1</name>
<contents>
<content>games</content>
<content>movies</content>
</contents>
</file>
<file>
<name>2</name>
<contents>
<content>games</content>
<content>picture</content>
<content>work</content>
</contents>
</file>
</files>
for $cont in $data//content
return element contents{$cont}