将XML转换为CSV:数据存储为属性

时间:2013-11-05 13:28:29

标签: xml csv

<cids>
<defect name="29237" action="decided" checker="OVERRUN_STATIC" cid="29237"/>
<defect ....

</cids>

我想将此xml转换为CSV我检查了许多链接,但没有找到通过解析属性将XML转换为CSV的任何链接。

2 个答案:

答案 0 :(得分:2)

Windows命令行

for /F tokens^=2^,4^,6^,8^ delims^=^" %a in ('type data.xml ^| find "<defect" ') do echo %a,%b,%c,%d >> data.csv

AWK(在这种情况下,也来自Windows命令行)

awk -F \" -v OFS=, "/^<defec/{print $2,$4,$6,$8}" data.xml > data.csv

在这两种情况下,使用引号作为分隔符将记录拆分为字段。

答案 1 :(得分:1)

由于没有语言或任何问题,这是一个vim命令(在vim 7.3 for windows上测试)

%s/<defect \w\+="\(.\+\)" \w\+="\(.\+\)" \w\+="\(.\+\)" \w\+="\(.\+\)"\/>/\1,\2,\3,\4/g

然后,手动删除第一行和最后一行。