XML to HTML
本章講解如何把 XML 數據顯示為 HTML。
在 HTML 中顯示 XML 數據
在上一節(jié)中,我們講解了如何通過 JavaScript 來解析 XML 并訪問 DOM。
本例遍歷一個 XML 文件 (cd_catalog.xml),然后把每個 CD 元素顯示為一個 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 數據。
例子解釋:
- 檢測瀏覽器,然后使用合適的解析器來加載 XML
- 創(chuàng)建一個 HTML 表格(<table border="1">)
- 使用 getElementsByTagName() 來獲得所有 XML 的 CD 節(jié)點
- 針對每個 CD 節(jié)點,把 ARTIST 和 TITLE 中的數據顯示為表格數據
- 用 </table> 結束表格
如需更多有關 JavaScript 和 XML DOM 的信息,請訪問我們的 XML DOM 教程。
跨域訪問
出于安全方面的原因,現代的瀏覽器不允許跨域的訪問。
這意味著,網頁以及它試圖加載的 XML 文件,都必須位于相同的服務器上。
W3School 的實例所打開的 XML 文件位于 W3School 的域上。
假如你打算在自己的網頁上使用上面的例子,則必須把 XML 文件放到自己的服務器上。否則,xmlDoc.load() 將產生錯誤 "Access is denied"。