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)
{
xhttp=new XMLHttpRequest();
}
else // IE 5/6
{
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 文件,它必須位于同一臺服務器上嘗試加載。
W3CSchool 上的實例中所有打開的 XML 文件都是位于 W3CSchool 域上的。
如果您想要在您的網頁上使用上面的實例,您加載的 XML 文件必須位于您自己的服務器上。