gpt4 book ai didi

xslt - 使用 xslt 1.0 排序

转载 作者:行者123 更新时间:2023-12-03 04:52:07 26 4
gpt4 key购买 nike

我正在尝试使用 XSLT 版本 1.0 对 xml 文档进行排序。

我的 XML 如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<testMain>
<test name="test1" enabled="false">
<field name="abc" enabled="false" description="test1">
</field>
<field name="dac" enabled="false" description="test2">
</field>
<field name="aaa" enabled="false" description="test4">
</field>
<field name="cat" enabled="false" description="test3">
</field>
</test>
</testMain>

结果应采用以下格式,按名称排序:

<?xml version="1.0" encoding="UTF-8"?>
<testMain>
<test name="test1" enabled="false">
<field name="aaa" enabled="false" description="test4">
</field>
<field name="abc" enabled="false" description="test1">
</field>
<field name="cat" enabled="false" description="test3">
</field>
<field name="dac" enabled="false" description="test2">
</field>
</test>
</testMain>

我在 xslt 中的代码如下:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>

<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>

<xsl:template match="test">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<xsl:apply-templates select="field">
<xsl:sort select="name" data-type="text"/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>

我不确定为什么没有生成所需的输出。非常感谢任何帮助。

谢谢

最佳答案

由于 name 是一个属性,因此您需要使用 @ 访问它

<xsl:sort select="@name" data-type="text"/>

关于xslt - 使用 xslt 1.0 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13944380/

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