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 檔,它必須位於同一臺伺服器上嘗試加載。
IT研修上的實例中所有打開的 XML 檔都是位於IT研修域上的。
如果您想要在您的網頁上使用上面的實例,您加載的 XML 檔必須位於您自己的伺服器上。