JAVASCRIPT处理返回的XML字符串
2008-03-09 14:58
459 查看
当通过AJAX操作的时候,返回的XML如下 :
<?xml version="1.0" encoding="gbk"?>
<root>
<checkresult>
<%=result%>
</checkresult>
<checkresult>
<%=message%>
</checkresult>
</root>
其中返回两个内容,一个结果数,以及一个针对该结果数的消息。
AJAX这个就不用去说怎么样操作了,下面这个函数只将返回字符串组成XML包的形式:
//装载字符串,将字符串组成XML的形式返回
function loadXML(xmlString)
...{
var xmldoc;
try ...{
xmldoc = new ActiveXObject("Microsoft.XMLDOM");
if(!xmldoc) xmldoc = new ActiveXObject("MSXML2.DOMDocument.3.0");
} catch(e)...{}
if(!xmldoc) ...{
return null;
} else ...{
xmldoc.async = "false";
xmldoc.loadXML(xmlString);
if(xmldoc.parseError.errorCode == 0 ) ...{
return xmldoc;
} else ...{
return null;
}
}
}
但其中需要注意一点,不能够直接利用返回得到的字节流,因为他们不属于字符串,这个时候需要将得到的字节流转换为字符串,才可以操作成功。我本人就遇到这个问题,直接操作就会出错,但我把这里传入的参数改为对应的XML字符串就可以,但我现在还不知道怎么样将字节流转换为字符串,因为总是要内网外网的切换做测试,挺麻烦的。
下面一个方面就是将XML中我们需要的数据,处理数组,这样我们就可以在其它的地方使用:
//获得检测结果
function getURLResult(URL)
...{
var url = URL;
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");
xmlhttp.open("POST", url, false);
xmlhttp.send();
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0");
xmlDoc = loadXML(bytes2BSTR(xmlhttp.responseBody));
var NodeLists = xmlDoc.selectNodes("/root/checkresult");
var result = new Array();
for(var i=0;i<NodeLists.length;i++)...{
result[i] = NodeLists[i].text;
}
return result;
}
在前台页面,就可以将需要的结果进行操作了。
本文出自:冯立彬的博客
<?xml version="1.0" encoding="gbk"?>
<root>
<checkresult>
<%=result%>
</checkresult>
<checkresult>
<%=message%>
</checkresult>
</root>
其中返回两个内容,一个结果数,以及一个针对该结果数的消息。
AJAX这个就不用去说怎么样操作了,下面这个函数只将返回字符串组成XML包的形式:
//装载字符串,将字符串组成XML的形式返回
function loadXML(xmlString)
...{
var xmldoc;
try ...{
xmldoc = new ActiveXObject("Microsoft.XMLDOM");
if(!xmldoc) xmldoc = new ActiveXObject("MSXML2.DOMDocument.3.0");
} catch(e)...{}
if(!xmldoc) ...{
return null;
} else ...{
xmldoc.async = "false";
xmldoc.loadXML(xmlString);
if(xmldoc.parseError.errorCode == 0 ) ...{
return xmldoc;
} else ...{
return null;
}
}
}
但其中需要注意一点,不能够直接利用返回得到的字节流,因为他们不属于字符串,这个时候需要将得到的字节流转换为字符串,才可以操作成功。我本人就遇到这个问题,直接操作就会出错,但我把这里传入的参数改为对应的XML字符串就可以,但我现在还不知道怎么样将字节流转换为字符串,因为总是要内网外网的切换做测试,挺麻烦的。
下面一个方面就是将XML中我们需要的数据,处理数组,这样我们就可以在其它的地方使用:
//获得检测结果
function getURLResult(URL)
...{
var url = URL;
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");
xmlhttp.open("POST", url, false);
xmlhttp.send();
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0");
xmlDoc = loadXML(bytes2BSTR(xmlhttp.responseBody));
var NodeLists = xmlDoc.selectNodes("/root/checkresult");
var result = new Array();
for(var i=0;i<NodeLists.length;i++)...{
result[i] = NodeLists[i].text;
}
return result;
}
在前台页面,就可以将需要的结果进行操作了。
本文出自:冯立彬的博客
相关文章推荐
- 字符串内特殊字符在html_javascript_xml等内使用时的转换 ,"缺少十六进制数字"错误的处理
- 将访问网址所返回的xml结果,接收并处理为字符串
- javascript解析返回的xml各式的字符串
- appium的source返回的xml字符串处理的工具函数
- 关于PHP处理JAVA过来的接口和PHP返回给Javascript的JSON字符串
- javascript中遇到的字符串对象处理
- js使用ajax传值给后台,后台返回字符串处理
- jQuery form插件的使用--处理server返回的JSON, XML,HTML数据
- JavaScript 返回字符串长度 【每日一段代码79】
- javascript字符串处理
- JavaScript 数组方法处理字符串 prototype
- 利用eval()处理返回的json字符串,json字符串转换为json
- jquery.post请求并处理返回xml数据
- Ajax处理XML,XMLHttpRequest对象的创建和访问servlet并返回xml数据到页面展示
- JQuery调用webservice,返回的json数据和XML数据的处理方法
- Ajax xml , JavaScript,PHP。js和Ajax接收处理xml信息
- iOS开发支付宝支付成功返回字符串的处理操作
- javascript 字符串处理全攻略
- javascript的字符串处理函数总结
- 几个常用的JavaScript字符串处理函数 - split()、join()、substring()和indexOf()