0
我试图使用XMLstarlet
将一些数据从XML格式转换为CSV。我的数据被格式化为用xmlstarlet重复属性
<!-- mydata.xml -->
<alldata>
<data id="first">
<coord><x>0</x><y>5</y></coord>
<coord><x>1</x><y>4</y></coord>
<coord><x>2</x><y>3</y></coord>
</data>
<data id="second">
<coord><x>3</x><y>2</y></coord>
<coord><x>4</x><y>1</y></coord>
<coord><x>5</x><y>0</y></coord>
</data>
</alldata>
我想格式化三列“ID”这一数据,“X”和“Y”来获得:
first;0;5
first;1;4
first;2;3
second;3;2
second;4;1
second;5;0
我与XMLstarlet
的尝试已经失败这表明我并不了解我在做什么。
xml sel -T -t -m /alldata/data -v "@id" -m /alldata/data/coord -v "concat(x,';',y)" -n mydata.xml
给我:
first0;5
1;4
2;3
3;2
4;1
5;0
second0;5
1;4
2;3
3;2
4;1
5;0
这不是我想要的或预期的。是否有可能修改我的查询来获得所需的输出?
这很好地工作。谢谢! –