js 解析xml

sling2007 2008-08-03 11:19:47
在ajax的一个应用中,我的代码怎么只能解析只有一个子节点的xml呢?跟浏览器配置相关么?
如<response><time>1998</time></response>
中间2个以上的节点就解析错误,
如<response><time>1998</time><title>jjj</title></response>

代码如下:(下面给出了 页面处理 部分的js)
function handleResponse(){
if(XMLHttpReq.readyState==4){ //对象状态
if(XMLHttpReq.status==200){//信息已成功返回,开始处理信息
var resultt = new ActiveXObject("Msxml2.DOMDocument");
resultt.async = false;
resultt.loadXML(XMLHttpReq.responseXML.xml);
alert(XMLHttpReq.responseXML.xml);
var root = resultt.documentElement;
var s = resultt.selectSingleNode("/response/time");
alert(s.text+"ss");
s = resultt.selectSingleNode("/response/title");
alert(s.text+"ss");
}
}
...全文
76 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
havelock 2008-08-03
  • 打赏
  • 举报
回复
楼主...你是自问自答型的....
sling2007 2008-08-03
  • 打赏
  • 举报
回复
找到了 是中文问题
把servlet中返回的xml设置为utf-8编码就可以了
sling2007 2008-08-03
  • 打赏
  • 举报
回复
我还用了一些别的读取节点的方法也是只能读取一个节点的,多了不行,如:
方法1:
var time=root.firstChild.firstChild.text;
alert(time);
var time2=root.firstChild.lastChild.text;
alert(time2);
方法2:
var result = XMLHttpReq.responseXML;
var root=result.documentElement;
var items=result.getElementsByTagName("time");
alert("item's length="+items.length);
var time=items[0].firstChild.data;
alert(time);
var items2=result.getElementsByTagName("title");
alert("item's length="+items2.length);
var time2=items2[0].firstChild.data;
alert(time2);
liumang945 2008-08-03
  • 打赏
  • 举报
回复
up
zhuhong110450 2008-08-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sling2007 的回复:]
找到了 是中文问题
把servlet中返回的xml设置为utf-8编码就可以了
[/Quote]
你真会明知顾问.~~~

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧