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