用JavaScript与WebService实现网页部分数据XML传送
2010-09-14 13:43:06 来源:WEB开发网下面将传递过来的XML应用XSL样式并显示在IE浏览器中,这是通过调用ApplyXslStyle()方法实现的。该方法使用“MSXML2.XSLTemplate”组件实现解析操作。因为XSL样式通常不会发生变化,所以本地缓存有助于提高XSL访问效率。代码如下:
function ApplyXslStyle()
{
objXMLStyle = new ActiveXObject('MSXML2.FreeThreadedDOMDocument');
objXMLStyle.async = false;
objXMLStyle.resolveExternals = false;
strXslt = '../../XSLT/Czrk.xsl';
objXMLStyle.load(strXslt);
if (objXMLStyle.readyState == 4)
{
if (objXMLStyle.parseError.errorCode != 0)
document.all('ErrorMessage').innerHTML = '<b>* 错误</b> - 无法解析 XSLT 格式.';
else
{
document.all('SearchResult').innerHTML = '';
// 格式化并输出结果
DisplayResult();
}
}
}
function DisplayResult()
{
// 创建一个新的 XSLTemplate 对象并设置样式表
var objTemplate = new ActiveXObject('MSXML2.XSLTemplate');
objTemplate.stylesheet = objXMLStyle;
// 创建处理器来处理 XML 数据
var objProc = objTemplate.createProcessor();
// 指明使用的 XML 数据对象
objProc.input = objXMLData;
// 应用 XSL 样式,并将结果赋值给字符串
if (objProc.transform() == true)
{
var strResult = objProc.output
document.all('SearchResult').innerHTML = strResult;
}
else
document.all('ErrorMessage').innerHTML = '<b>* 错误</b> - 无法对查询结果应用 XSLT 格式.';
}
这样,通过WebService传递过来的XML数据就经过XSL格式处理后显示在IE里面。下面给出几个截图:
图片(1)检索数据前
图片看不清楚?请点击这里查看原图(大图)。
..............................................................................................
图片(2)检索数据后
图片看不清楚?请点击这里查看原图(大图)。
..............................................................................................
图片(3)自定义检索条件
图片看不清楚?请点击这里查看原图(大图)。
Tags:JavaScript WebService 实现
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接