使用ajax responseXML.getElementsByTagName 得不到任何东西 急!!在线等

来源:百度知道 编辑:UC知道 时间:2024/06/02 01:29:32
在jsp中输出xml文件:
<%@ page language="java" pageEncoding="GBK" contentType="text/xml;charset=GBK" %>
<%
out.println("<?xml version=\"1.0\" encoding=\"GBK\"?>");
out.println("<menu>北京</menu>");
out.println("<code>010</code>");
%>

在js中使用responseXML.getElementsByTagName("menu").length为0
如果是在 [xml文件] 中输出 就没问题,为什么?
急!!!在线等 !!能帮我解决的我会给 50 分 一定给...急急急急急急
能不能说清楚点呀..不明白你的意思耶

responseXML.getElementsByTagName("menu")[0].nodeValue;

要将responseXML这个片段,用loadXML()函数,这样才能当作XML文档来解析。否则取得的就是一个用XML格式好的字符串而不是XML模型。

因为取回的是一段字符串,而不是XMLDOM模型。
用DOM.loadXML(取回的字符串)
e.g.
var strXMLSnippet="<List>"+
"<ID>"+lngID+"</ID>\n"+
"<Title>"+Title+"<Title>\n"+
"<Body>"+Body+"</Body>\n"+
"<Other>"+Other+"</Other>"+
"</List>";
var objXMLSnippet=new ActiveXObject("MicroSoft.XMLDOM");
objXMLSnippet.loadXML(strXMLSnippet);

这时候objXMLSnippet就可以当作DOM模型来使用。

我也遇到同样问题,但后来发现XML文件中的换行与空格符会对responseXML获取数据产生影响。