首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在xslt中按属性值对xml文件进行排序?

如何在xslt中按属性值对xml文件进行排序?
EN

Stack Overflow用户
提问于 2018-10-09 08:05:01
回答 1查看 65关注 0票数 0

我想按照元素"entity“的属性值"class”对xml文件进行排序。在输出中,我希望保持输入xml的相同结构,这里是xml代码的一部分:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd"
    version="1.0">
<entity class="entityZ" metadata-complete="false">
<table name="F_ENTITYZ">
<unique-constraint>
<column-name>column1</column-name>
</unique-constraint>
<unique-constraint>
<column-name>column2</column-name>
</unique-constraint>
</table>
<sequence-generator name="SEQUENCEZ_" sequence-name="F_SEQUENCEZ_" allocation-size="1" initial-value="1"/>
<attributes>
</attributes>
</entity>
<entity class="entityA" metadata-complete="false">
<table name="F_ENTITYA">
<unique-constraint>
<column-name>column1</column-name>
</unique-constraint>
</table>
<sequence-generator name="SEQUENCEA_" sequence-name="F_SEQUENCEA_" allocation-size="1" initial-value="1"/>
<attributes>
</attributes>
<post-persist method-name="traceHistory"/>
<post-update method-name="traceHistory"/>
</entity>
<entity class="entityB" metadata-complete="false">
<table name="F_ENTITYB">
<unique-constraint>
<column-name>column1</column-name>
</unique-constraint>
</table>
<sequence-generator name="SEQUENCEB_" sequence-name="F_SEQUENCEB_" allocation-size="1" initial-value="1"/>
<attributes>
</attributes>
</entity>
</entity-mappings>

等待你的帮助..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-09 09:07:00

使用xslt,您可以这样做:

代码语言:javascript
复制
<xsl:template match="/">
    <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd"
version="1.0">

        <xsl:for-each select="*/*">
            <xsl:sort select="@class" />
            <xsl:copy-of select="." />
        </xsl:for-each>

    </entity-mappings>
</xsl:template>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52716140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档