我有一个要求,我需要始终输出可选的 XML 元素(无论数据可用性如何),同时写入 .csv 文件。
XML 文件格式
<entries>
<countryCode>123</countryCode>
<adminDataMap>
<testAccount>True</testAccount>
<code>11</code>
</adminDataMap>
<privateMap>
<email>abc@abc.com</email>
<cancelReason>Not interested</cancelReason>
</privateMap>
</entries>
这里的 'entries' 根元素 'cancelReason'、'testAccount' 是可选元素,只有在数据存在时才可用。
即,一些记录将具有那些“可选”字段,而另一些则没有。
我编写了一个 XQuery 来提取所有这些元素
let $entries := /root/entries
return
for $entry in $entries
return
<entries>
{
$entry/*,
$entry/privateMap/email,
$entry/privateMap/cancelReason,
$entry/adminDataMap/code,
$entry/adminDataMap/testAccount
}
</entries>
我的要求是将所有强制性和可选元素提取为 OUTPUT。即输出元数据始终保持不变。如果可选的“cancelReason”没有值,它将被填充为空白/空值[类似的东西]
请告知 XQUERY 中可以编写的任何选项以实现此目的。