繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> XML相关 >> 使用xsl筛选记录

使用xsl筛选记录

2004-10-01 08:26:10  作者:  来源:互联网  浏览次数:56  文字大小:【】【】【
简介:最近使用xml DataIsland配合javascript 将标准的html表格TABLE扩展成了一个类似windows下的MSFlexGrid一样的具有丰富客户端行为的网格,在更新数据时,为了减少提交上传的xml文件的大小,便将原先绑定的数据集添...
关键字:xsl

最近使用xml DataIsland配合javascript 将标准的html表格TABLE扩展成了一个类似windows下的MSFlexGrid一样的具有丰富客户端行为的网格,在更新数据时,为了减少提交上传的xml文件的大小,便将原先绑定的数据集添加了一个标记节点,值只有三种NEW,UPDATE,DEL,分别用来表示其父节点是新增的,还是修改过的,或者是删除过的,并且在通过xmlhttp上传之前,将所有添加了的纪录筛选出来。在处理这个筛选的过程中,我先使用了javascript模拟了一个筛选算法,但是在数据岛数据很大时,筛选就很慢,于是左思右想,配合高人指点,使用xsl来处理了这个数据岛,用很快的速度就实现了大量数据的筛选过程。

我的xml结构是这样的

...

...

...

...

...

...

...

...

...

...

...

...

...

xsl文件如下,名称为“select.xsl“:

通过以下javascript实现了转换:

function getResultSet()

{

var recordset = document.getElementById(you island id)

var xslselect = new ActiveXObject('MSXML2.DOMDocument');

xslselect.async = false;

xslselect.load('select.xsl');

var resultset = new ActiveXObject('MSXML2.DOMDocument');

resultset.loadXML(recordset.xml)

//由于Island在浏览器端不支持transformNode()方法,所以得用一

//个MSXML2DOM来转换一下。

resultset.loadXML(resultset.transformNode(resultset));

return resultset;

}

责任编辑:admin
相关文章