【发布时间】:2018-05-02 07:49:34
【问题描述】:
我一直在寻找将 XML 转换为 CSV 的解决方案,但由于 XML 结构不同,我找不到与我的情况相匹配的解决方案
XML 结构看起来像
<VWSRecipeFile>
<EX_Extrusion User="ABC" Version="1.0" Description="" LastChange="41914.7876341204">
<Values>
<C22O01_A_TempFZ1_Set Item="A_TempFZ1_Set" Type="4" Hex="42700000" Value="60"/>
<C13O02_A_TempHZ2_Set Item="A_TempHZ2_Set" Type="4" Hex="43430000" Value="195"/>
<C13O03_A_TempHZ3_Set Item="A_TempHZ3_Set" Type="4" Hex="43430000" Value="195"/>
</Values>
</EX_Extrusion>
</VWSRecipeFile>
预期的 CSV 格式
A_TempFZ1_Set,A_TempHZ2_Set,A_TempHZ3_Set
60,195,195
我可以实现新的预期 csv 格式,但不知道这是否是最好的方法,任何建议表示赞赏
'
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" indent="no"/>
<xsl:template match="/VWSRecipeFile">
<xsl:for-each select="EX_Extrusion/Values/*">
<xsl:value-of select="concat(@Item,',')" />
</xsl:for-each>
<xsl:text>
</xsl:text>
<xsl:for-each select="EX_Extrusion/Values/*">
<xsl:value-of select="concat(@Value,',')" />
</xsl:for-each>
<xsl:text>
</xsl:text>
</xsl:template>
</xsl:stylesheet>'
谢谢
【问题讨论】:
-
你用的是什么工具?您想要的 CSV 格式是什么?这是一次性转换还是您必须定期执行此操作?
-
我正在使用 C#,我必须定期进行。意图是能够读取“值”标签的所有元素谢谢
-
您能否编辑您的问题以包含上述示例中预期的 CSV 输出?