XmlStarlet xml到CSV输出为'NaNNaNNaN'

格雷格·伊文(Greg Iven)

我写了一个查询xmlstarlet sel -T -t -m badges/row -v "concat(@row, ',')" -n Badges.xml,输出重复为:

NaNNaNNaN...

Badges.xml文件中可能有多少行。我正在关注以下内容:https ://www.joyofdata.de/blog/transforming-xml-document-into-csv-using-xmlstarlet/将xml格式的数据转换为CSV。有人知道这里发生了什么吗?

在此处输入图片说明

编辑,这是XML文件的一些示例行:

<?xml version="1.0" encoding="utf-8"?>
<badges>
 <row Id="1" UserId="1" Name="Autobiographer" Date="2016-08-02T15:56:07.133" 
  Class="3" TagBased="False" />
 <row Id="2" UserId="8" Name="Autobiographer" Date="2016-08-02T15:56:07.133" 
  Class="3" TagBased="False" />
 <row Id="3" UserId="9" Name="Autobiographer" Date="2016-08-02T15:56:07.133" 
  Class="3" TagBased="False" />
 <row Id="4" UserId="19" Name="Autobiographer" Date="2016-08-
  02T15:56:07.133" Class="3" TagBased="False" />
 <row Id="5" UserId="27" Name="Autobiographer" Date="2016-08-
  02T15:56:07.133" Class="3" TagBased="False" />
罗曼·佩列赫雷斯特

在XPATH中@指向属性名称。要基于每个<row>节点的属性值生成csv记录,请使用以下方法:

xmlstarlet sel -T -t -m 'badges/row' -v \
'concat(@Id, ",", @UserId, ",", @Name, ",", translate(@Date," ",""), 
",", @Class, ",", @TagBased)' -n Badges.xml

输出:

1,1,Autobiographer,2016-08-02T15:56:07.133,3,False
2,8,Autobiographer,2016-08-02T15:56:07.133,3,False
3,9,Autobiographer,2016-08-02T15:56:07.133,3,False
4,19,Autobiographer,2016-08-02T15:56:07.133,3,False
5,27,Autobiographer,2016-08-02T15:56:07.133,3,False

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章