通過微軟的 XML 解析器來加載 XML
微軟的 XML 解析器內(nèi)建于 Internet Explorer 5 以及更高的版本中。
下面的 JavaScript 片段把一個 XML 文檔載入解析器中:
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("note.xml");
例子解釋:
- 上面代碼的第一個行創(chuàng)建一個空的微軟 XML 文檔對象。
- 第二行關(guān)閉異步加載,這樣確保在文檔完全加載之前解析器不會繼續(xù)腳本的執(zhí)行。
- 第三行告知解析器加載名為 "note.xml" 的 XML 文檔。
下面的 JavaScript 片段把字符串 txt 載入解析器:
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(txt);
注釋:loadXML() 方法用于加載字符串(文本),load() 用于加載文件。
在 Firefox 及其他瀏覽器中的 XML 解析器
下面的 JavaScript 片段把 XML 文檔 ("note.xml") 載入解析器:
var xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.async="false";
xmlDoc.load("note.xml");
例子解釋:
- 上面代碼的第一個行創(chuàng)建一個空的 XML 文檔對象。
- 第二行關(guān)閉異步加載,這樣確保在文檔完全加載之前解析器不會繼續(xù)腳本的執(zhí)行。
- 第三行告知解析器加載名為 "note.xml" 的 XML 文檔。
下面的 JavaScript 片段把字符串 txt 載入解析器:
var parser=new DOMParser();
var doc=parser.parseFromString(txt,"text/xml");
例子解釋:
- 上面代碼的第一個行創(chuàng)建一個空的微軟 XML 文檔對象。
- 第二行告知解析器載入名為 txt 的字符串。
注釋:Internet Explorer 使用 loadXML() 方法來解析 XML 字符串,而其他瀏覽器使用 DOMParser 對象
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue
- xmlDoc -由解析器創(chuàng)建的 XML 文檔
- getElementsByTagName("to")[0] - 第一個 <to> 元素
- childNodes[0] - <to> 元素的第一個子元素(文本節(jié)點)
- nodeValue - 節(jié)點的值(文本本身)