如何使用XSLT避免逗号分隔的CSV中的逗号

时间:2013-10-23 08:37:09

标签: xslt csv

我使用xslt作为csv文件。有时会出现类似" a,b"在xml中。当您在excel中选择逗号分隔以显示csv文件时,excel认为它们必须分隔为列。但我想做专栏。有没有办法在xslt部分中执行此操作?

2 个答案:

答案 0 :(得分:0)

为了保留空格,您需要引用包含逗号的值。它可以在XSLT中,但答案取决于您的样式表设计。如果您想要更准确的答案,请分享您的代码。通常,您可以使用以下模板将任何感兴趣的文本节点包装在引号中:

<xsl:template match="text()[contains(., ', ')]">
    <xsl:value-of select="concat('&quot;', ., '&quot;')"/>
</xsl:template>

答案 1 :(得分:0)

您可以从我在网站的“免费开发者”部分发布的XSLT 2.0中的开源CSV到XML包中获取线索:http://www.CraneSoftwrights.com/resources/#csv它遵循RFC4180 http://www.ietf.org/rfc/rfc4180.txt

想法是首先查找引号,然后在没有引号时查找逗号。正如我在我引用的代码中所做的那样,这可以用正则表达式表示。