js通过xmldom调用xslt对xml排序输出的一个简单例子.
来源:互联网 发布:iphone播放flac软件 编辑:程序博客网 时间:2024/05/16 07:01
test.xml
<?xml version="1.0" encoding="utf-8" ?>
<!--<?xml-stylesheet type="text/xsl" href="Test.xsl"?>-->
<root>
<item id="5" name="aa" />
<item id="2" name="bb" />
<item id="7" name="cc" />
</root>
<!--<?xml-stylesheet type="text/xsl" href="Test.xsl"?>-->
<root>
<item id="5" name="aa" />
<item id="2" name="bb" />
<item id="7" name="cc" />
</root>
test.xsl
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<table>
<xsl:for-each select="//item">
<xsl:sort order="ascending" select="@id" data-type="number" />
<tr>
<td><xsl:value-of select="./@id" /></td><td><xsl:value-of select="./@name" /></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<table>
<xsl:for-each select="//item">
<xsl:sort order="ascending" select="@id" data-type="number" />
<tr>
<td><xsl:value-of select="./@id" /></td><td><xsl:value-of select="./@name" /></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
test.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>test</TITLE>
<script type="text/javascript">...
function myFun(str)
...{
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
xmlDoc.async = false;
xmlDoc.load("test.xml");
var xslDoc = new ActiveXObject("Msxml2.DOMDocument");
xslDoc.async = false;
xslDoc.resolveExternals = false;
xslDoc.load("test.xsl");
var sortNode = xslDoc.selectSingleNode("//xsl:sort");
//alert(sortNode.attributes[1].value);
//alert(sortNode);
sortNode.attributes[1].value = "@" + str;
document.getElementById("divContainer").innerHTML = xmlDoc.transformNode(xslDoc);
//alert("OK");
}
</script>
</HEAD>
<BODY>
<input value="try sort by id" type="button" onclick="myFun('id')" />
<input value="try sort by name" type="button" onclick="myFun('name')" />
<div id="divContainer" />
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE>test</TITLE>
<script type="text/javascript">...
function myFun(str)
...{
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
xmlDoc.async = false;
xmlDoc.load("test.xml");
var xslDoc = new ActiveXObject("Msxml2.DOMDocument");
xslDoc.async = false;
xslDoc.resolveExternals = false;
xslDoc.load("test.xsl");
var sortNode = xslDoc.selectSingleNode("//xsl:sort");
//alert(sortNode.attributes[1].value);
//alert(sortNode);
sortNode.attributes[1].value = "@" + str;
document.getElementById("divContainer").innerHTML = xmlDoc.transformNode(xslDoc);
//alert("OK");
}
</script>
</HEAD>
<BODY>
<input value="try sort by id" type="button" onclick="myFun('id')" />
<input value="try sort by name" type="button" onclick="myFun('name')" />
<div id="divContainer" />
</BODY>
</HTML>
当然,不一定是xml,xsl要存为文件,也可以是符合规范的字串. 用loadxml方法加载即可.
要支持ff,那么换一种声明方法.
- js通过xmldom调用xslt对xml排序输出的一个简单例子.
- xslt转化xml的最简单例子
- 结合我的XSLT类的一个例子 - 1 ( js )
- 一个简单的用JS调用WebService的例子
- XML——XSLT的一个简单荔枝
- XML和XSLT结合的例子
- 一个简单的例子:通过javascript输出所选择的日期(1)
- sqlserver利用sp_oa系列存储过程调用xml+xsl eval输出运算结果的一个例子。
- 用vc6操作xml以及xmldom的简单介绍
- 用vc6操作xml以及xmldom的简单介绍
- JS访问XML的简单例子
- JS访问XML的简单例子
- 通过XSLT转换XML
- 一个简单的XML Schema的例子
- 一个简单的XML Schema的例子
- 一个简单的XML Schema的例子
- 一个简单的XML Schema的例子
- 一个简单的XML Schema的例子
- 嵌入式开发.C语言面试题
- Ruby On Rails 常见问题
- 最近重点关注的几支股票
- 加载数据后,根据列值设置不同的行颜色
- →『C/C++面试题大汇总』
- js通过xmldom调用xslt对xml排序输出的一个简单例子.
- Jtapi进阶
- 感想
- Variant类型在各语言中的参数传递
- IFrame 自动伸展
- 试验网站#1搜索引擎优化收录情况记录(断续运行)2007-12-14
- 试验网站#3搜索引擎优化收录情况记录2007-12-14
- GDI+ for VCL基础 -- 画刷之TextureBrush
- ant 初识