<html>
<head><title>Test</title></head>
<script>
function getNodeValue(nodePath)
{
//change the data of which responsed by server.
var xml_data = "<root><node1>abcd</node1></root>";
try
{
//for IE
//create xmldom to manipulate xml object tree
var dom = new ActiveXObject("MSXML2.DOMDocument.5.0");
//for mozilla
//var dom = document.implementation.createDocument(xml_data,'root',null);
dom.async = false;
dom.loadXML(xml_data);
var nodeList = dom.documentElement.selectNodes(nodePath);
for (var i = 0; nodeList && i < nodeList.length; i++)
{
alert(nodeList[i].childNodes[0].text);
}
}
catch(err)
{
throw new Error("Please update the version of IE at lest 5.5");
}
}
</script>
<body onload="getNodeValue('/root/node1')">
</body>
</html>
<head><title>Test</title></head>
<script>
function getNodeValue(nodePath)
{
//change the data of which responsed by server.
var xml_data = "<root><node1>abcd</node1></root>";
try
{
//for IE
//create xmldom to manipulate xml object tree
var dom = new ActiveXObject("MSXML2.DOMDocument.5.0");
//for mozilla
//var dom = document.implementation.createDocument(xml_data,'root',null);
dom.async = false;
dom.loadXML(xml_data);
var nodeList = dom.documentElement.selectNodes(nodePath);
for (var i = 0; nodeList && i < nodeList.length; i++)
{
alert(nodeList[i].childNodes[0].text);
}
}
catch(err)
{
throw new Error("Please update the version of IE at lest 5.5");
}
}
</script>
<body onload="getNodeValue('/root/node1')">
</body>
</html>
var resp= xmlHttp.responseXml;
var data= resp.getElementsByTagName("node1");
alert(data[0].firstChild.nodeValue);
原来的JSP页面是这样的<%@ page language="java" pageEncoding="gb2312"%>
<%
response.setHeader("pragma","no-cache");
response.setHeader("cache-control","no-cache");
response.setHeader("expires","0");
response.setHeader("content-type","text/xml;charset=gb2312");
out.println("<?xml version=\"1.0\" encoding=\"GB2312\"?>");
out.println("<docroot><node1>中国</node1></docroot>");
%>这样FireFox就会说"xml处理指令不在外部实体的开始部分" ,而IE就说是javascript错误云云。通过google和看JSP转换成的java文件,在文件开始处多了回车换行。改成下面的就可以了原来的JSP页面是这样的<%@ page language="java" pageEncoding="gb2312"%><%
response.setHeader("pragma","no-cache");
response.setHeader("cache-control","no-cache");
response.setHeader("expires","0");
response.setHeader("content-type","text/xml;charset=gb2312");
out.println("<?xml version=\"1.0\" encoding=\"GB2312\"?>");
out.println("<docroot><node1>中国</node1></docroot>");
%>