XML DOM 解析器

2018-02-11 14:26 更新

XML DOM 解析器

本節(jié)將為你介紹 XML 解析器,XML 解析器在大部分瀏覽器中內(nèi)建。

大多數(shù)瀏覽器都內(nèi)建了供讀取和操作 XML 的 XML 解析器。

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


XML 解析器

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

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

XML 解析器讀取 XML,并把它轉(zhuǎn)換為 XML DOM 對象,這樣才可以使用 JavaScript 訪問它。

大多數(shù)瀏覽器有一個內(nèi)建的 XML 解析器。


加載 XML 文檔

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

實例

if (window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
}
else // IE 5/6
{
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET","books.xml",false);
xhttp.send();
xmlDoc=xhttp.responseXML;

嘗試一下 ?

代碼解釋:

  • 創(chuàng)建一個 XMLHTTP 對象
  • 打開 XMLHTTP 對象
  • 發(fā)送一個 XML HTTP 請求到服務(wù)器
  • 設(shè)置響應(yīng)為 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 對象。


跨域訪問

出于安全原因,現(xiàn)代的瀏覽器不允許跨域訪問。

這意味著,網(wǎng)頁以及 XML 文件,它必須位于同一臺服務(wù)器上嘗試加載。

W3CSchool 上的實例中所有打開的 XML 文件都是位于 W3CSchool 域上的。

如果您想要在您的網(wǎng)頁上使用上面的實例,您加載的 XML 文件必須位于您自己的服務(wù)器上。

相關(guān)教程

JavaScript教程

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號