我通过API调用在CSV有效负载上运行以下代码,将其转换为XML,并尝试为每行维护CSV的字段名,但测试时似乎工作正常,但由于“提供的元素名是零长度字符串”而失败:
let $lines := tokenize(/result/text(), '\n')
let $fieldnames:=tokenize($lines[1], '\s*,\s*')
return
<results>
{
for $line at $i in $lines
where $i gt 1
let $fields := tokenize($line, '\s*,\s*')
return
<row>{
for $fieldname at $j in $fieldnames
return
element {fn:replace($fieldname,' ','_')} {fn:replace($fields[$j],'"','')}
}</row>
}</results>
CSV中有数千行,其中一些值为空。
任何帮助都将不胜感激,xquery不是我的强项!
已尝试上述查询
1条答案
按热度按时间ggazkfy81#
错误消息表明输入的第一行包含两个相邻的逗号,或者逗号可能是该行的第一个或最后一个字符。
但是说真的,你怎么能指望人们在看不到输入的情况下调试它呢?