【发布时间】:2020-01-07 21:32:35
【问题描述】:
我有一个这种格式的大 xml 文件
<data>
<chars>
<prod>162</prod>
<atr>Brand</atr>
<value>Sony</value>
<filter>1</filter>
</chars>
<chars>
<prod>162</prod>
<atr>Type</atr>
<value>Camera</value>
<filter>1</filter>
</chars>
<chars>
<prod>162</prod>
<atr>Color</atr>
<value>yellow</value>
<filter>1</filter>
</chars>
<prod>163</prod>
<atr>Brand</atr>
<value>Philips</value>
<filter>1</filter>
</chars>
<chars>
<prod>163</prod>
<atr>Type</atr>
<value>Monitor</value>
<filter>1</filter>
</chars>
....
</data>
在excel中给出了下表:
Prod Atr Value Filter
162 Brand Sony 1
162 Type Camera 1
162 Color Yellow 1
163 Brand Philips 1
163 Type Monitor 1
我想把上面的xml转换成xml格式,以便取这个表(不包括列过滤器):
Prod Atr1 Value1 Atr2 Value2 Atr3 Value3
162 Brand Sony Type Camera Color Yellow
163 Brand Philips Type Monitor
或更好的结果
Prod Brand Type Color
162 Sony Camera Yellow
163 Philips Monitor
这个文件有 30000 行,每个产品都有不同数量的属性。例如,产品 162 有 3 个属性,但产品 163 有 2 个属性。如果可能的话,我希望转换在 excel 之外(如果我设置了 cronjob,则在 linux 环境中)
提前致谢!
【问题讨论】:
-
我想到了 bash 和 Xmlstarlet!
标签: xml transformation