gpt4 book ai didi

xml - 带计数的 XSLT 转换

转载 作者:数据小太阳 更新时间:2023-10-29 02:25:20 25 4
gpt4 key购买 nike

我将如何使用 xslt 转换以下内容

<blogger>
<post>
<text>...</text>
<categories>Engineering, Internet, Sausages</catgories>
</post>
<post>
<text>...</text>
<categories>Internet, Sausages</catgories>
</post>
<post>
<text>...</text>
<categories>Sausages</catgories>
</post>
</blogger>

进入

   Sausages (3)
Internet (2)
Engineering (1)

最佳答案

首先,改变你的xml

创建数据.xml

<blogger>
<post>
<text>...</text>
<categories>
<category>Engineering</category>
<category>Internet</category>
<category>Sausages</category>
</categories>
</post>
<post>
<text>...</text>
<categories>
<category>Internet</category>
<category>Sausages</category>
</categories>
</post>
<post>
<text>...</text>
<categories>
<category>Sausages</category>
</categories>
</post>
</blogger>

然后编写你的xslt,创建transform.xslt

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>

<xsl:template match="/">

<xsl:for-each select="//category">
<xsl:variable name="value" select="."/>
<xsl:if test="count(preceding::category[.=$value]) = 0">
<xsl:value-of select="."/>
<xsl:text> (</xsl:text>
<xsl:value-of select="count(//category[.=$value])"/>
<xsl:text>)</xsl:text><br/>
</xsl:if>
</xsl:for-each>

</xsl:template>
</xsl:stylesheet>

然后你可以在浏览器中打开data.xml,得到如下结果:

Engineering (1)Internet (2)Sausages (3)

关于xml - 带计数的 XSLT 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1047163/

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