有时我需要快速从 XML 文件中提取一些任意数据以放入 CSV 格式。在 Unix 终端中执行此操作的最佳实践是什么?我想要一些代码示例,那么例如我怎样才能解决以下问题?
XML 输入示例:
<root>
<myel name="Foo" />
<myel name="Bar" />
</root>
我想要的 CSV 输出:
Foo,
Bar,
彼得的回答 https://stackoverflow.com/questions/29004/parsing-xml-using-unix-terminal#29023是正确的,但它输出尾随换行。
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="text"/>
<xsl:template match="root">
<xsl:for-each select="myel">
<xsl:value-of select="@name"/>
<xsl:text>,</xsl:text>
<xsl:if test="not(position() = last())">
<xsl:text>
</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
只需运行例如
xsltproc stylesheet.xsl source.xml
将 CSV 结果生成为标准输出。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)