gpt4 book ai didi

xml - 使用 XSLT 基于父字段的嵌套分组

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

这是我正在使用的原始 XML 示例:

<dsQueryResponse>
<Rows>
<Row Title="Animal" Parent="" />
<Row Title="Mammal" Parent="Animal" />
<Row Title="Lion" Parent="Mammal" />
<Row Title="Plant" Parent="" />
<Row Title="Elephant" Parent="Mammal" />
</Rows>
</dsQueryResponse>

使用 XSLT,如何使输出成为嵌套的 UL,例如:

<ul>
<li>
Animal
<ul>
<li>
Mammal
<ul>
<li>Elephant</li>
<li>Lion</li>
</ul>
</li>
</ul>
</li>
<li>Plant</li>
</ul>

我对 XSLT 只是“还行”,只能进行简单的排序,而且我知道我可以通过 JavaScript/jQuery 轻松完成此操作,但我宁愿为此使用 XSLT。

最佳答案

试试这个 XSLT:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>

<xsl:template match="/">
<ul>
<xsl:apply-templates select="//Row[@Parent = '']"/>
</ul>
</xsl:template>

<xsl:template match="Row">
<li>
<xsl:value-of select="@Title"/>

<xsl:if test="../Row[@Parent = current()/@Title]">
<ul>
<xsl:apply-templates select="../Row[@Parent = current()/@Title]"/>
</ul>
</xsl:if>
</li>
</xsl:template>
</xsl:stylesheet>

输出:

<ul>
<li>
Animal<ul>
<li>
Mammal<ul>
<li>Lion</li>
<li>Elephant</li>
</ul>
</li>
</ul>
</li>
<li>Plant</li>
</ul>

关于xml - 使用 XSLT 基于父字段的嵌套分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27493665/

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