首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > ASP > xml排序
【标  题】:xml排序
【关键字】:xml
【来  源】:http://blog.csdn.net/wqf363/archive/2007/01/18/1486985.aspx

xml排序

1 xsl:sort

所使用的名字空间:xmlns:xsl='http://www.w3.org/1999/XSL/Transform'

Syntax

<xsl:sort

select="expression"

lang="language-code"

data-type="text|number|qname"     //数据类型,可支持按数字排序

order="ascending|descending"       //排序升序,降序

case-order="upper-first|lower-first"/>

 

test1.xml
<?xml version="1.0" encoding="GB2312"?>
<?xml-stylesheet type="text/xsl" href="test1.xsl"?>
<source>
<name>John</name> 
<name>Josua</name> 
<name>Charles</name> 
<name>Alice</name> 
<name>Martha</name> 
<name>George</name> 
</source>

test.xsl

<xsl:stylesheet version = '1.0' 
     
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/"> 
     
<TABLE> 
      
<xsl:for-each select="//name"> 
       
<xsl:sort order="ascending" select="."/> 
           
<TR> <TH><xsl:value-of select="."/></TH> </TR> 
      
</xsl:for-each> 
     
</TABLE> 
</xsl:template>
</xsl:stylesheet>

2 for-each的属性ordey-by

所使用的名字空间:xmlns:xsl="http://www.w3.org/TR/WD-xsl"

Syntax

<xsl:for-each select="expression"> 

<!-- Content:(xsl:sort*,template) -->

</xsl:for-each>

示例:test.html

<html><head>  
<script>  
var  sig=true  
function  sort(strKey)  
{  
var  xml1=mxhxml.XMLDocument  
var  xsl1=mxhxsl.XMLDocument  
var  s1=xsl1.selectSingleNode("//xsl:for-each/@order-by")  
if(s1.value==strKey)  s1.value="-"  +  strKey  
else  
s1.value
=strKey  
document.all.mxh.innerHTML
=xml1.transformNode(xsl1)  
}
  
</script>  
</head>  
<body  onload="sort('Name')">  
<div  id=mxh></div>  
<XML  id=mxhxsl>  
<?xml  version="1.0"?>  
<xsl:stylesheet  xmlns:xsl="http://www.w3.org/TR/WD-xsl">  
   
<xsl:template  match="/">  
   点击标题排序:  
       
<table  border="2">  
           
<tr>  
               
<th  onclick="sort('Name')"  style="cursor:hand">名称</th>  
               
<th  onclick="sort('Email')"  style="cursor:hand">电子邮件</th>  
           
</tr>  
           
<xsl:for-each  select="/Custs/Cust"  order-by="Name">  
               
<tr>  
                   
<td><xsl:value-of  select="Name"/></td>  
                   
<td><xsl:value-of  select="Email"/></td>  
               
</tr>  
           
</xsl:for-each>  
       
</table>  
   
</xsl:template>  
</xsl:stylesheet>  
</XML>  
 
<XML  id=mxhxml>  
<?xml  version="1.0"?>  
<Custs>  
 
<Cust>  
       
<Name>Nancy</Name>  
       
<Email>www@yahoo.com</Email>  
   
</Cust>  
   
<Cust>  
       
<Name>Peter</Name>  
       
<Email>dotnet@aol.com</Email>  
   
</Cust>  
   
<Cust>  
       
<Name>Rachel</Name>  
       
<Email>billgates@microsoft.com</Email>  
   
</Cust>  
   
<Cust>  
       
<Name>Seth</Name>  
       
<Email>flying@yous.net</Email>  
   
</Cust>  
</Custs>  
</XML>  

 

3 按数字进行排序

1)xsl:sort方式: 只需指定datatype="number"

2)ordey-by方式:只需指定ordey-by=number("结点")

3)另外,还需对脚本进行修改:

<script type="text/javascript">

function taxis(x) 

{ 

    //获取到xml,xsl文档,获取到node: selectSingleNode

    if(x == '指定要排序的数字元素')

       sortField.value='number('+x+')';

    else

       sortField.value=x;

    if (this.rel == '+')

    {

       this.rel = '-';

    }

    else

    {

       sortField.value = '-'+sortField.value;

       this.rel = '+';

    }

    //transformNode

}

</script>

xsl:script与函数调用输出xsl:eval应用示例:【上一篇】
日期年月日三个下拉框:【下一篇】
【相关文章】
  • JBuilderX: Unable to load document from file...web.xml
  • java 将EXCEL表格数据转换成XML格式
  • XML Web 服务基础结构
  • 用xml来表示界面
  • xstream对xmlnode的属性(attribute)解析的问题。
  • spring在web.xml中和在struts中的不同配置
  • Javascript编程小结(2 XML对象)
  • 如何应用remoting调用远程对象传递XmlDocument对象?
  • ibatis JshopStore5的sqlmap的xml错误,NestedSQLException错误
  • xml内容显示的4种方法
  • 【随机文章】
  • HijackThis的简介及软件下载地址
  • 关于输入框中显示双引号和单引号
  • Begin to learn hibernate
  • 寻求项目合作者
  • C++ Style and Technique FAQ (中文版)-------
  • 在PB应用中收发电子邮件
  • 在VS2005 正确地创建、部署和维护由1.1迁移到ASP.NET 2.0 应用程序注意事项
  • [debug]vs2003的调试能力好不到哪里去!!
  • 利用global.asp定时执行ASP
  • Win 2000命令行大揭秘
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.