日期:2014-05-16 浏览次数:20724 次
var showXML = xmlReturnDoc///////.xml; //var ShowValues = showXML.getElementsByTagName("USERSINFO").chileNodes[0].nodeValue;//USERSINFO节点名称 var ShowValues = showXML.getElementsByTagName("USERSINFO")[0].childNodes[0].nodeValue;//USERSINFO节点名称 alert(ShowValues);
------解决方案--------------------
FF中的XMLDocument对象没有xml属性.node.xml这个是IE特有的...
你需要创建一个XMLSerializer对象
var oSeria = new XMLSerializer();
oSeria.serializeToString(oNode , "text/xml");
这样才能返回你要的节点值。这之前你还需要判断浏览器类型,最好将这个方法封装为一个函数 定义在文档的Node类里面,很是麻烦 =.=
如果你想弄的明白,请参考<<javascript高级编程>>第十五章 Javascript中的xml第一节的第二小节。那里有完整的代码,包括兼容两种类型的浏览器(IE/DOM)。
------解决方案--------------------
你最好在后台将xmlReturnDoc放到请求中
XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat().setEncoding("ISO8859-1"));
outputter.output(xmlReturnDoc,response.getWriter());
前台var doc = xmlHttpRequest.responseXML;就能获取到了
------解决方案--------------------
节点的操作,在浏览器之间是有差异性的
而且,#1楼的说的getElementsByTagName这个和getElementsByName两个得到的都是对象集合,使用时都是需要指定索引的。
------解决方案--------------------
1楼说得对, 浏览器不同,解析的方法有时候就不一样的。
------解决方案--------------------
话说,getElementsByName标签是不支持获取div,p,h标签的,这个在ie下试过,其他浏览器貌似也有这个问题~~~