我正在使用BaseX作为基于XML的数据库。我做了一个简单的查询,如
xquery for $Book in
/Libraray/Literaturelist/Literature/Title return fn:data($Book)
我获得所有标题,就像没有换行符的字符串一样。
有没有办法在查询找到的每个节点之后用XQuery添加换行符来分隔数据?这实际上并不依赖于我的XML文件,因为我没有在标记中添加硬编码的换行符。 ;)
答案 0 :(得分:2)
这取决于您检索查询结果的方式。最优雅的方法是使用迭代器,例如显示在:
http://basex.org/code/QueryExample
除此之外,你可以通过返回一个额外的换行来扩展你的XQuery:
xquery for $Book in /Libbraray/Literaturelist/Literature/Title
return (fn:data($Book), '
')
但请注意,无法抑制额外的输出空格字符。
最佳, 基督教
PS:随意使用basex-talk邮件列表以更快地获得反馈。
答案 1 :(得分:0)
添加换行符的另一种方法是明确使用换行符的字符引用:
xquery for $Book in /Libbraray/Literaturelist/Literature/Title
return (fn:data($Book), " ")
答案 2 :(得分:0)
XQuery 3.1 Serialization规范提供了新的“自适应”序列化模式,该模式在新行上输出每个XQuery结果。从BaseX 8开始,此模式用作新默认值。