xls 和 xml 数据 排序 绑定 -原创

本文介绍如何使用XSLT对XML文件进行排序操作,包括设置排序关键字和排序顺序,并通过实例展示了具体的实现方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

xls 和 xml 排序

 

 

xml:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type= "text/xsl" href= "test.xsl"?>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<languages>
    <languageList>
        <language name="Chinese" >
            <codeList >
                <code >zh</code>
            </codeList>
        </language>
        <language name="English" >
            <codeList >
                <code >en</code>
            </codeList>
        </language>
    </languageList>
</languages>

 

 

xsl:

<?xml version="1.0" encoding="UTF-8"?>

<!--
    Document   : test.xsl
    Created on : 2013年12月26日, 下午9:37
    Author     : ideaam
    Description:
        Purpose of transformation follows.
-->
<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output omit-xml-declaration="yes" indent="yes"/>

  <xsl:variable name="vsortKey" select="'name'"/>
  <xsl:variable name="vsortOrder" select="'descending'"/>


  <xsl:template match="node()|@*">
    <xsl:copy>
      <xsl:apply-templates select="node()|@*">
        <xsl:sort select="/language[name()=$vsortKey] | @*[name()=$vsortKey]" data-type="text" order="{$vsortOrder}"/>
        <xsl:sort select="@*"  />
      </xsl:apply-templates>
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>

 

WebForm DataBind:

   <asp:ListView ID="ListView1" runat="server" DataSourceID="XmlDataSource1">
        <ItemTemplate>
            <label><%#Eval("name")%></label>
        </ItemTemplate>
        </asp:ListView>
        <asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/test.xml" 
             XPath="//language" TransformFile="~/test.xsl"></asp:XmlDataSource>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值