那你要做太多工作了,如果是处理ajax返回的数据,还是在其他框架下解析吧。 if ('ActiveXObject' in window) { var xml = new ActiveXObject('MSXML2.DOMDocument.6.0'); alert(xml); } else { if (document.implementation.hasFeature('XML', '2.0')) { var xml = document.implementation.createDocument('', 'root', null); alert(xml); } }
(function(){ var xmlFile= "<newborns><newborn><nebo_birthno>123</nebo_birthno><nebo_sex>1</nebo_sex><nebo_birthtime>2011-09-01 15:13:30</nebo_birthtime></newborn><newborn><nebo_birthno>251</nebo_birthno><nebo_sex>3</nebo_sex><nebo_birthtime>2012-01-01 15:13:30</nebo_birthtime></newborn></newborns>"; var xmldoc =null; if(window.ActiveXObject){ xmldoc = new ActiveXObject('Microsoft.XMLDOM'); xmldoc.async = false; xmldoc.loadXML(xmlFile); //xml文件内容 //xmldoc.load("xml/request.xml");//文件名: } else{ // xmldoc = document.implementation.createDocument('', '', null);// 加载文件 parser = new DOMParser(); xmldoc = parser.parseFromString(xmlFile, "text/xml"); } if (!xmldoc) return; var nodes = xmldoc.getElementsByTagName("nebo_birthno"); for(var i = 0;i<nodes.length;i++){ var node = nodes[i]; var text = nodes[i].text || nodes[i].textContent; alert(text); } })();
(function(){ var xmlFile= "<newborns><newborn><nebo_birthno>123</nebo_birthno><nebo_sex>1</nebo_sex><nebo_birthtime>2011-09-01 15:13:30</nebo_birthtime></newborn><newborn><nebo_birthno>251</nebo_birthno><nebo_sex>3</nebo_sex><nebo_birthtime>2012-01-01 15:13:30</nebo_birthtime></newborn></newborns>"; var xmldoc =null; if(window.ActiveXObject){ xmldoc = new ActiveXObject('Microsoft.XMLDOM'); xmldoc.async = false; xmldoc.loadXML(xmlFile); //xml文件内容 //xmldoc.load("xml/request.xml");//文件名: } else{ // xmldoc = document.implementation.createDocument('', '', null);// 加载xml文件内容 // xmldoc.load("xml/request.xml");//文件名 var parser = new DOMParser(); xmldoc = parser.parseFromString(xmlFile, "text/xml"); } if (!xmldoc) return; var nodes = xmldoc.getElementsByTagName("nebo_birthno"); for(var i = 0;i<nodes.length;i++){ var node = nodes[i]; var text = nodes[i].text || nodes[i].textContent; alert(text); } })();
if ('ActiveXObject' in window) {
var xml = new ActiveXObject('MSXML2.DOMDocument.6.0');
alert(xml);
}
else {
if (document.implementation.hasFeature('XML', '2.0')) {
var xml = document.implementation.createDocument('', 'root', null);
alert(xml);
}
}
var xmlFile= "<newborns><newborn><nebo_birthno>123</nebo_birthno><nebo_sex>1</nebo_sex><nebo_birthtime>2011-09-01 15:13:30</nebo_birthtime></newborn><newborn><nebo_birthno>251</nebo_birthno><nebo_sex>3</nebo_sex><nebo_birthtime>2012-01-01 15:13:30</nebo_birthtime></newborn></newborns>";
var xmldoc =null;
if(window.ActiveXObject){
xmldoc = new ActiveXObject('Microsoft.XMLDOM');
xmldoc.async = false;
xmldoc.loadXML(xmlFile); //xml文件内容
//xmldoc.load("xml/request.xml");//文件名:
}
else{
// xmldoc = document.implementation.createDocument('', '', null);// 加载文件
parser = new DOMParser();
xmldoc = parser.parseFromString(xmlFile, "text/xml");
}
if (!xmldoc) return;
var nodes = xmldoc.getElementsByTagName("nebo_birthno");
for(var i = 0;i<nodes.length;i++){
var node = nodes[i];
var text = nodes[i].text || nodes[i].textContent;
alert(text);
}
})();
var xmlFile= "<newborns><newborn><nebo_birthno>123</nebo_birthno><nebo_sex>1</nebo_sex><nebo_birthtime>2011-09-01 15:13:30</nebo_birthtime></newborn><newborn><nebo_birthno>251</nebo_birthno><nebo_sex>3</nebo_sex><nebo_birthtime>2012-01-01 15:13:30</nebo_birthtime></newborn></newborns>";
var xmldoc =null;
if(window.ActiveXObject){
xmldoc = new ActiveXObject('Microsoft.XMLDOM');
xmldoc.async = false;
xmldoc.loadXML(xmlFile); //xml文件内容
//xmldoc.load("xml/request.xml");//文件名:
} else{
// xmldoc = document.implementation.createDocument('', '', null);// 加载xml文件内容
// xmldoc.load("xml/request.xml");//文件名
var parser = new DOMParser();
xmldoc = parser.parseFromString(xmlFile, "text/xml");
}
if (!xmldoc) return;
var nodes = xmldoc.getElementsByTagName("nebo_birthno");
for(var i = 0;i<nodes.length;i++){
var node = nodes[i];
var text = nodes[i].text || nodes[i].textContent;
alert(text);
}
})();
xmldoc.load(xmlFile);
不是:
xmldoc.loadXML(xmlFile);
我用IE 可以看到,xmlDocument 的方法。
但我用firefox 就看不到 fireFox 中xmldocument 对象的方法? 谁能教教我如何用firefox 调试来发现?下面是IE 看到的方法,如下图,firefox呢?
我怎么知到 ff 的是loadXML 啊?
另外,你这贴的内容我已经帮你解决了,在3楼
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'JSjiexiXml.jsp' starting page</title>
<script type="text/javascript">
//测试js解析解析xml字符串(跨浏览器) text="<bookstore>"
text=text+"<book>";
text=text+"<title>Everyday Italian</title>";
text=text+"<author>Giada De Laurentiis</author>";
text=text+"<year>2005</year>";
text=text+"</book>";
text=text+"</bookstore>";
try //Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
//xmlDoc.loadXML(text);
var xmlStr ="<?xml version='1.0' encoding='GB2312'?>"+
"<root>"+
"<channel>"+
"<title>解析XML字符串</title>"+
"<author>春季</author>"+
"<year>2012</year>"+
"</channel>"+
"</root>";
xmlDoc.loadXML(xmlStr);
}catch(e)
{
try //Firefox, Mozilla, Opera, etc.
{
parser=new DOMParser();
xmlDoc=parser.parseFromString(text,"text/xml");
}catch(e) {alert(e.message)}
}
try{
document.write(xmlDoc.getElementsByTagName("title")
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("author")
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("year")
[0].childNodes[0].nodeValue);
}catch(e){
alert(e.message)
}
</script>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head>
<body>
<hr color="red">
解析成功··· <br>
</body>
</html>我测试了下都没有问题啊 ,LZ可以试试。