IE、Firefox、Chrome等ブラウザの互換にXMLをロード方法

ファイル名:test.xml
コード下記:
<?xml version="1.0″ encoding="utf-8″?>
<note>
<t1>
<title>startnews24の公式サイト</title>
<url>http:/arkgame.com/</url>
</t1>
<t1>
<title>yahooのサイト</title>
<url>http://yahoo.co.jp</url>
</t1>
</note>

 

ファイル名:test.html

コード下記:

<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>URL</td>
</tr>
</table>
</body>
</html>

Source

Posted by arkgame