将XML标记按字母顺序排序

前端之家收集整理的这篇文章主要介绍了将XML标记按字母顺序排序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有谁知道我可以加载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>

猜你在找的XML相关文章