XML to HTML
本章講解如何把 XML 數(shù)據(jù)顯示為 HTML。
在 HTML 中顯示 XML 數(shù)據(jù)
在上一節(jié)中,我們講解了如何通過 JavaScript 來解析 XML 并訪問 DOM。
本例遍歷一個(gè) XML 文件 (cd_catalog.xml),然后把每個(gè) CD 元素顯示為一個(gè) HTML 表格行:
<html>
<body>
<script type="text/javascript">
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","cd_catalog.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
document.write("<table border='1'>");
var x=xmlDoc.getElementsByTagName("CD");
for (i=0;i<x.length;i++)
{
document.write("<tr><td>");
document.write(x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue);
document.write("</td><td>");
document.write(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue);
document.write("</td></tr>");
}
document.write("</table>");
</script>
</body>
</html>
TIY:在 HTML 表格中顯示 XML 數(shù)據(jù)。
例子解釋:
- 檢測瀏覽器,然后使用合適的解析器來加載 XML
- 創(chuàng)建一個(gè) HTML 表格(<table border="1">)
- 使用 getElementsByTagName() 來獲得所有 XML 的 CD 節(jié)點(diǎn)
- 針對每個(gè) CD 節(jié)點(diǎn),把 ARTIST 和 TITLE 中的數(shù)據(jù)顯示為表格數(shù)據(jù)
- 用 </table> 結(jié)束表格
如需更多有關(guān) JavaScript 和 XML DOM 的信息,請?jiān)L問我們的 XML DOM 教程。
跨域訪問
出于安全方面的原因,現(xiàn)代的瀏覽器不允許跨域的訪問。
這意味著,網(wǎng)頁以及它試圖加載的 XML 文件,都必須位于相同的服務(wù)器上。
W3School 的實(shí)例所打開的 XML 文件位于 W3School 的域上。
假如你打算在自己的網(wǎng)頁上使用上面的例子,則必須把 XML 文件放到自己的服務(wù)器上。否則,xmlDoc.load() 將產(chǎn)生錯(cuò)誤 "Access is denied"。