xml排序
来源:互联网 发布:大数据岗位要求 编辑:程序博客网 时间:2024/05/15 02:07
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"/>
<?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
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
<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>
- xml排序
- xml数据分组排序
- XML之动态排序
- dom4j xml 排序
- 学习XML与XSLT:排序
- 读取xml文档并排序
- 如何实现XML+XSL排序
- C# 对xml的排序
- dom4j --用xpath排序xml
- [整理]实现XML文件里条目排序?
- 如何实现XML+XSL+javascript数据排序
- 客户端JScript+XSLT+XML Data Islands排序
- Spry学习(三)----XML数据集排序
- 使用XPathExpression类对XML进行排序
- 使用XPathExpression类对XML进行排序
- 对XML实现自定义、多字段排序
- 对XML实现自定义、多字段排序
- 对XML实现自定义、多字段排序
- 想像五年后的你
- 一个留言
- 闷~~空着肚子上网
- 工作多年心得:我从老板身上偷学的东西
- kernel 2.6下IPv6致使上网速度慢的解决方法
- xml排序
- 随笔摘录
- Lucene 的学习
- xsl:script与函数调用输出xsl:eval应用示例
- 快要回家了.........
- asp.net创建文件夹的IO类的问题
- 用Delphi创建服务程序
- PERF_OBJECT_TYPE結構的成員
- 用Delphi编写Win2000服务程序