var xmlDoc; function loadXML() { // code for IE if (window.ActiveXObject) { xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async = false; xmlDoc.load("xml/news2.xml"); getmessage(); } // code for Mozilla, Firefox, Opera, etc. else if (document.implementation && document.implementation.createDocument) { xmlDoc = document.implementation.createDocument("", "", null);
xmlDoc.load("xml/news2.xml");
xmlDoc.onload = getmessage; } else { alert('Your browser cannot handle this script'); } } function getmessage() {
var nodes = xmlDoc.getElementsByTagName("t1") tb = document.getElementById("table_note"); tbody = document.createElement("tbody") for (i = 0; i < 7; i++) { alert("a") //这个能显示 tr = document.createElement("tr") td = document.createElement("td") qq = td.innerHTML = nodes[i].getElementsByTagName("title")[0].childNodes[0].nodeValue alert(td.innerHTML) //这个不显示,估计是innerHTML问题请帮忙看看
<xml id="myIsland" src="news.xml"></xml>
数据岛
上面文件提及到“只要把以上代码存成一个JS文件,在页面上引用它,当XML节点的读取操作就可以像IE一样使用了,已经通过测试。”请问,他说的”当XML节点的读取操作就可以像IE一样使用“,具体是怎样使用?
<script type="text/javascript">
var xmlDoc;
function loadXML() {
// code for IE
if (window.ActiveXObject) {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.load("1.xml");
getmessage();
}
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument) {
xmlDoc = document.implementation.createDocument("", "", null);
xmlDoc.load("1.xml");
xmlDoc.onload = getmessage;
}
else {
alert('Your browser cannot handle this script');
}
}
function getmessage() {
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")
td.innerHTML = nodes[i].getElementsByTagName("content")[0].childNodes[0].nodeValue
tr.appendChild(td)
tbody.appendChild(tr) }
tb.appendChild(tbody)
}
</script>
</head>
<body onload="loadXML()">
<table id="table_note">
<tr>
<td width="200px" valign="top" class="text2" height="20px">
</td>
<td valign="top" width="15px" align="right">
</td>
</tr>
</table>
</body>
能提供你的xml文件吗,改为我的xml后,ie 和 Firefox都可以,opera不可以
<students>
<student>
<name destr="姓名">kevin</name>
<sex destr="性别">男</sex>
<age destr="年龄">20</age>
</student>
<student>
<name destr="姓名">小张</name>
<sex destr="性别">男</sex>
<age destr="年龄">25</age>
</student>
<student>
<name destr="姓名">小丽</name>
<sex destr="性别">女</sex>
<age destr="年龄">20</age>
</student>
<student>
<name destr="姓名">李飞</name>
<sex destr="性别">男</sex>
<age destr="年龄">21</age>
</student>
<student>
<name destr="姓名">李飞2</name>
<sex destr="性别">男</sex>
<age destr="年龄">21</age>
</student>
</students>
<?xml version="1.0" encoding="utf-8"?>文件本身用记事本打开,另存为 utf-8,而不是ansi
已经照做,问题依旧,opera不能显示
function loadXML() {
// code for IE
if (window.ActiveXObject) {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.load("xml/news2.xml");
getmessage();
}
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument) {
xmlDoc = document.implementation.createDocument("", "", null);
xmlDoc.load("xml/news2.xml");
xmlDoc.onload = getmessage;
}
else {
alert('Your browser cannot handle this script');
}
}
function getmessage() {
var nodes = xmlDoc.getElementsByTagName("t1")
tb = document.getElementById("table_note");
tbody = document.createElement("tbody")
for (i = 0; i < 7; i++) {
alert("a") //这个能显示
tr = document.createElement("tr")
td = document.createElement("td")
qq = td.innerHTML = nodes[i].getElementsByTagName("title")[0].childNodes[0].nodeValue
alert(td.innerHTML) //这个不显示,估计是innerHTML问题请帮忙看看