top
Loading...
XML DOM 解析器

XML DOM 解析器


大多數瀏覽器都內建了供讀取和操作 XML 的 XML 解析器。

解析器把 XML 轉換為 JavaScript 可存取的對象(XML DOM)。


XML 解析器

XML DOM 包含了遍歷 XML 樹,訪問、插入及刪除節點的方法(函數)。

然而,在訪問和操作 XML 文檔之前,它必須加載到 XML DOM 對象。

XML 解析器讀取 XML,併把它轉換為 XML DOM 對象,這樣才可以使用 JavaScript 訪問它。

大多數瀏覽器有一個內建的 XML 解析器。


加載 XML 文檔

下面的 JavaScript 片段加載一個 XML 文檔("books.xml"):

實例

if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, Opera, Safari 瀏覽器執行代碼 xhttp=new XMLHttpRequest(); } else { // IE6, IE5 瀏覽器執行代碼 xhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xhttp.open("GET","books.xml",false); xhttp.send(); xmlDoc=xhttp.responseXML;

嘗試一下 »

代碼解釋:

  • 創建一個 XMLHTTP 對象
  • 打開 XMLHTTP 對象
  • 發送一個 XML HTTP 請求到服務器
  • 設置響應為 XML DOM 對象

加載 XML 字符串

下面的代碼加載併解析一個 XML 字符串:

實例

if (window.DOMParser) { parser=new DOMParser(); xmlDoc=parser.parseFromString(text,"text/xml"); } else { // Internet Explorer xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async=false; xmlDoc.loadXML(text); }

嘗試一下 »

注意:Internet Explorer 使用 loadXML() 方法來解析 XML 字符串,而其他瀏覽器使用 DOMParser 對象。


跨域訪問

出於安全原因,現代的瀏覽器不允許跨域訪問。

這意味著,網頁以及 XML 文件,它必須位於同一台服務器上嘗試加載。

教程上的實例中所有打開的 XML 文件都是位於教程域上的。

如果您想要在您的網頁上使用上面的實例,您加載的 XML 文件必須位於您自己的服務器上。


北斗有巢氏 有巢氏北斗