我使用xslt作为csv文件。有时会出现类似" a,b"在xml中。当您在excel中选择逗号分隔以显示csv文件时,excel认为它们必须分隔为列。但我想做专栏。有没有办法在xslt部分中执行此操作?
答案 0 :(得分:0)
为了保留空格,您需要引用包含逗号的值。它可以在XSLT中,但答案取决于您的样式表设计。如果您想要更准确的答案,请分享您的代码。通常,您可以使用以下模板将任何感兴趣的文本节点包装在引号中:
<xsl:template match="text()[contains(., ', ')]">
<xsl:value-of select="concat('"', ., '"')"/>
</xsl:template>
答案 1 :(得分:0)
您可以从我在网站的“免费开发者”部分发布的XSLT 2.0中的开源CSV到XML包中获取线索:http://www.CraneSoftwrights.com/resources/#csv它遵循RFC4180 http://www.ietf.org/rfc/rfc4180.txt
想法是首先查找引号,然后在没有引号时查找逗号。正如我在我引用的代码中所做的那样,这可以用正则表达式表示。