gpt4 book ai didi

xml - 用于给定 XML 结构的 XSLT(用于 CSV)

转载 作者:行者123 更新时间:2023-12-04 06:27:23 25 4
gpt4 key购买 nike

我不知道如何为 XML 制作 XSLT 以将其转换为 CSV。请为给定的 XML 结构编码一个 XSLT,并尝试验证和考虑所有原始逗号和引号等。

<DROPSHIPITEMS>
<CREATED value="Thu Apr 21 23:17:39 BST 2011">
<PRODUCT ITEM='8101'>
<MODEL>FY316A</MODEL>
<EAN>5055071647109</EAN>
<NAME>Enchanted Twilight Flower Fairy 'Amethyst'</NAME>
<DESCRIPTION><![CDATA[<p> Twilight Fairy 'Amethyst'</p><p>This, Fairy.</p>]]></DESCRIPTION>
<DIMENSION><![CDATA[Height 31 - 32cm Width, 16 - 18.5cm Depth 12 - 13.5cm]]></DIMENSION>
<PRICE>16.63</PRICE>
<DELIVERY>I</DELIVERY>
<QUANTITY>224</QUANTITY>
<MIN_ORDER_QTY>1</MIN_ORDER_QTY>
<URL>http://www.abc-dropship.co.uk/gifts/product_info.php?products_id=8101</URL>
<IMAGE_URL>http://www.abc-dropship.co.uk/gifts/images/FY316A_001.jpg</IMAGE_URL>
<CATEGORIES>9003|100297</CATEGORIES>
<OPTIONS><![CDATA[B - Hand on Dress|A - Flower in Hand|Any]]></OPTIONS>
</PRODUCT>
</CREATED>
</DROPSHIPITEMS>

谢谢

最佳答案

将 XML 转换为逗号分隔与任何其他转换相同。以下内容按原样重现字段,除非它们在您仍然需要处理的每个 PRODUCT 中的顺序相同。该示例将帮助您入门:

  <xsl:output method="text"/>

<xsl:template match="//PRODUCT">
<xsl:value-of select="@ITEM" />
<xsl:text>,</xsl:text>
<xsl:apply-templates select="./*" />
<xsl:text>&#x0A;</xsl:text>
</xsl:template>

<xsl:template match="PRODUCT/*">
<xsl:value-of select="translate(text(), ',', '@')" />
<xsl:text>,</xsl:text>
</xsl:template>

顺便说一句, &#0A;添加一个换行符,对于 dos/windows 你可能需要添加一个 &#0D;也。

更新 : 值中的逗号可以通过使用 translate() 用另一个字符替换它们来转义功能。

关于xml - 用于给定 XML 结构的 XSLT(用于 CSV),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5878645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com