加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

将XML标记按字母顺序排序

发布时间:2020-12-16 07:58:32 所属栏目:百科 来源:网络整理
导读:有谁知道我可以加载XML文件并对其进行排序然后保存文件的方式? 我有一个带有一堆设置的xml文件..现在它变得难以管理,因为它们没有任何自然的排序顺序…… 例如 edit_screen_asettings_font_sizeedit_screen_bdisplay_screensettings_font_name 排序: displ
有谁知道我可以加载XML文件并对其进行排序然后保存文件的方式?

我有一个带有一堆设置的xml文件..现在它变得难以管理,因为它们没有任何自然的排序顺序……

例如

<edit_screen_a>
<settings_font_size>
<edit_screen_b>
<display_screen>
<settings_font_name>

排序:

<display_screen>
<edit_screen_a>
<edit_screen_b>
<settings_font_name>
<settings_font_size>
您可以使用XSLT并从命令行运行它. (我建议 Saxon,但 Xalan会好的.)

这是一个例子……

XML输入

<doc>
  <edit_screen_a/>
  <settings_font_size/>
  <edit_screen_b/>
  <display_screen/>
  <settings_font_name/>
</doc>

XSLT 1.0

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

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

  <xsl:template match="doc">
    <doc>
      <xsl:apply-templates>
        <xsl:sort select="name()"/>
      </xsl:apply-templates>      
    </doc>
  </xsl:template>

</xsl:stylesheet>

XML输出

<doc>
   <display_screen/>
   <edit_screen_a/>
   <edit_screen_b/>
   <settings_font_name/>
   <settings_font_size/>
</doc>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读