显示XML文档时排序数据

先看XML文档:

 

也可拷贝下面代码另存为XMl文档:

<stepList>
  <steps>
    <step>
      <order>1</order>
      <stepName>基丰盛的</stepName>
    </step>
    <step>
      <order>3</order>
      <stepName>个个个个</stepName>
    </step>
    <step>
      <order>2</order>
      <stepName>各个地方</stepName>
    </step>
  </steps>
</stepList>
View Code


想控order字段来排序,可以先存入一个集合中,如List<T>等 。面向对象,先创建一个对象吧:


下面是读xml文档,加载入List<T>集合中,然后使用OrderBy来进行排序。

 

有关读取xml文档,你还可以参考另外一篇:http://www.cnblogs.com/insus/p/4308740.html

 

显示结果:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
XML 是一种数据描述语言,主要用于描述和传输结构化的数据。而快速排序是一种常见的排序算法,用于对数据进行排序。在 XML ,我们可以使用 XSLT(可扩展样式表语言转换)来实现快速排序,具体步骤如下: 1. 定义一个 XML 文件,其包含需要排序数据。 2. 编写一个 XSLT 文件,其包含快速排序算法的实现。 3. 将 XML 文件和 XSLT 文件进行绑定,生成一个新的 XML 文件,其包含已排序数据。 下面是一个使用 XSLT 实现快速排序的示例: 假设我们有以下 XML 文件: ```xml <?xml version="1.0"?> <data> <value>8</value> <value>3</value> <value>9</value> <value>1</value> <value>7</value> <value>2</value> <value>6</value> <value>5</value> <value>4</value> </data> ``` 我们希望对其的值进行排序。下面是一个 XSLT 文件,实现了快速排序算法: ```xml <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <xsl:call-template name="qsort"> <xsl:with-param name="list" select="/data/value"/> </xsl:call-template> </xsl:template> <xsl:template name="qsort"> <xsl:param name="list"/> <xsl:choose> <xsl:when test="count($list) <= 1"> <xsl:copy-of select="$list"/> </xsl:when> <xsl:otherwise> <xsl:variable name="pivot" select="$list[1]"/> <xsl:variable name="left" select="$list[position() > 1][. <= $pivot]"/> <xsl:variable name="right" select="$list[position() > 1][. > $pivot]"/> <xsl:call-template name="qsort"> <xsl:with-param name="list" select="$left"/> </xsl:call-template> <xsl:copy-of select="$pivot"/> <xsl:call-template name="qsort"> <xsl:with-param name="list" select="$right"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet> ``` 该 XSLT 文件定义了一个名为 `qsort` 的模板,用于对传入的列表进行排序。该模板使用了递归的方式实现快速排序算法:首先选择列表的第一个元素作为枢轴,然后将列表分为两部分,小于等于枢轴的部分在左侧,大于枢轴的部分在右侧,接着递归对左右两部分进行排序,最终将排好序的结果合并。 我们可以通过绑定 XML 文件和 XSLT 文件来生成已排序XML 文件。下面是一个示例代码: ```python import lxml.etree as ET # 读取 XML 文件和 XSLT 文件 xml = ET.parse('data.xml') xslt = ET.parse('qsort.xslt') # 创建 XSLT 转换器 transformer = ET.XSLT(xslt) # 对 XML 文件进行转换 result = transformer(xml) # 输出转换结果 print(result) ``` 执行上述代码后,将输出已排序XML 文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值