1

我使用 BaseX 作为基于 XML 的数据库。我做了一个简单的查询,比如

xquery for $Book in 
/Libraray/Literaturelist/Literature/Title return fn:data($Book)

我得到所有标题,就像没有换行符的字符串一样。

有没有办法在查询找到的每个节点之后使用 XQuery 添加换行符以分隔数据?这并不真正依赖于我的 XML 文件,因为我没有在标签中添加硬编码的换行符。;)

4

3 回答 3

2

这取决于您如何检索查询结果。最优雅的方式是使用迭代器,例如:

http://basex.org/code/QueryExample

除此之外,您可以通过返回一个额外的换行符来扩展您的 XQuery:

xquery for $Book in /Libbraray/Literaturelist/Literature/Title
return (fn:data($Book), '
')

但是请注意,无法抑制额外输出的空格字符。

最好的,克里斯蒂安

PS:随意使用 basex-talk 邮件列表更快地获得反馈。

于 2010-06-19T18:21:44.477 回答
0

添加换行符的另一种方法是显式使用换行符的字符引用:

xquery for $Book in /Libbraray/Literaturelist/Literature/Title
return (fn:data($Book), "
")
于 2012-05-13T22:28:00.143 回答
0

XQuery 3.1 序列化规范提供了新的“自适应”序列化模式,它将每个 XQuery 结果输出到新的一行。从 BaseX 8 开始,此模式被用作新的默认值。

于 2015-03-06T20:31:36.583 回答