下面这段代码在火狐能够解析,在谷歌和IE就不行了,应该如何来修改代码?如何解析XML呢?
JScript code:
代码如下:
$(#result).append(xmlDoc.firstChild.localName + <br/><hr>);
for ( var i = 0; i < xmlDoc.documentElement.childElementCount; i++) {
$(#result).append(
xmlDoc.documentElement.children[i].localName + <br/>);
}
兼容 IE、Firefox、Chrome、Safari、Opera 等浏览器的XML文件加载方式的代码如下,xml文件名为 1.xml。
XML代码
XML code:
代码如下:
<?xml version=1.0 encoding=utf-8?>
<note>
<t1>
<title>孟子E章的网站</title>
<url>http://dotnet.aspx.cc/</url>
</t1>
<t1>
<title>孟宪会的博客</title>
<url>http://blog.csdn.net/net_lover/</url>
</t1>
</note>
HTML 代码
HTML code:
代码如下:
<script type=text/javascript>
var xmlDoc = null, xmlhttp = null;
function loadXML() {
xmlhttp = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject(Microsoft.XMLHttp);
if (xmlhttp == null) {
alert(你的浏览器不支持 XMLHttpRequest);
return;
}
xmlhttp.open(GET, 1.xml? + Date.parse(new Date()), true);
xmlhttp.setRequestHeader(Content-Type, text/xml);
xmlhttp.onreadystatechange = getmessage;
xmlhttp.send(null);
}
function getmessage() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
xmlDoc = xmlhttp.responseXML.documentElement;
if (xmlDoc == null) {
alert(返回的数据不正确。);
return;
}
var nodes = xmlDoc.getElementsByTagName(t1)
tb = document.getElementById(table_note);
tbody = document.createElement(tbody)
for (i = 0; i < nodes.length; i++) {
tr = document.createElement(tr)
td = document.createElement(td)
td.innerHTML = nodes[i].getElementsByTagName(title)[0].childNodes[0].nodeValue
tr.appendChild(td)
td = document.createElement(td)
url = nodes[i].getElementsByTagName(url)[0].childNodes[0].nodeValue;
td.innerHTML = <a href=' + url + '> + url + </a>
tr.appendChild(td)
tbody.appendChild(tr)
}
tb.appendChild(tbody)
}
}
</script>
</head>
<body onload=loadXML()>
<table id=table_note border=1>
<tr>
<td>姓名</td>
<td>网址</td>
</tr>
</table>
</body>
</html>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。