xquery - 使用 XQuery 将标头添加到 XML 到 CSV 的转换
问题描述
嗨,我正在尝试使用 xquery 将一些 xml 转换为 csv,并找到了帮助我达到这一点的上一篇文章:
for $b in /root/Result
return
concat(escape-html-uri(string-join(($b/HolidayEndDate,
$b/HolidayType,
$b/FirstName,
$b/AllowanceRemainingDays,
$b/HolidayStartDate,
$b/EmployeeId,
$b/AllowanceDays,
$b/LastName,
$b/HolidayDurationDays
)
/normalize-space(),
",")
),
codepoints-to-string(10))
这将根据需要返回所有数据,但没有标题行。上面的代码是否有一个简单的补充也可以返回标题行?谢谢。:)
解决方案
由于您的查询返回一系列行,因此您可以在 FLWOR 表达式之前添加另一行:
"HolidayEndDate,HolidayType,FirstName,AllowanceRemainingDays,HolidayStartDate,EmployeeId,AllowanceDays,LastName,HolidayDurationDays ",
for $b in /root/Result
return
concat(escape-html-uri(string-join(($b/HolidayEndDate,
$b/HolidayType,
$b/FirstName,
$b/AllowanceRemainingDays,
$b/HolidayStartDate,
$b/EmployeeId,
$b/AllowanceDays,
$b/LastName,
$b/HolidayDurationDays
)
/normalize-space(),
",")
),
codepoints-to-string(10))
因为嵌套序列在 XQuery 中被展平(即连接),所以这会产生一个包含标题的输出序列。另请注意,我' '
为换行符使用了一个字符实体,它比codepoints-to-string(10)
.
推荐阅读
- python - 分发在黑暗中如何运作?
- airflow - 回填 AirFlow DAG 以获取其他历史日期
- blockchain - 如何运行私有 Waves 区块链?
- c# - 类库中的 C# Adapt BeginInvoke
- php - 如何向我的 HTML 表格添加分页?我的表是通过使用 php 的 while 循环动态填充的
- excel - 如何复制和转置 VBA
- c# - 使用自己的名称调用外部库变量
- javascript - Mobile Safari - iframe 固定内容
- node.js - 通过在 Mongodb 中应用条件使用 $find 查询嵌套对象
- python - 认知面部 API Python 3.5。坏形象