解析 XML
解析 XML
Firefox 可以自動的將當前頁面解析為 DOM(文本對象模型), 您也可以通過 XML 語句(可以是您自己編寫的,也可以是您從遠端主機得到的)來創建DOM。
例子:將一個字符串解析為 XML
var xmlString = '<passwd>' + ' <user id="101">' + ' <login>mark</login>' + ' <group id="100"/>' + ' <displayname>Mark Pilgrim</displayname>' + ' <homedir>/home/mark/</homedir>' + ' <shell>/bin/bash</shell>' + ' </user>' + '</passwd>' var parser = new DOMParser(); var xmlDoc = parser.parseFromString(xmlString, "application/xml"); 在這里,關鍵是 DOMParser 這個對象,它包含 parseFromString 這個方法。 (它也包含其他的方 法,但在這里并不要使用它們。) parseFromString 有兩個參數:一是將要解析為 XML 的字符串, 二是內容的類型。這兩個參數都是必要的。 對象DOMParser 的 parseFromString 方法將內容的類型作為它的第二個參數。它的值可以是:application/xml, application/xhtml+xml, 以及 text/xml。 出于某個原因(在這里不適合討論),您應該一直使用 application/xml 作為參數的值。 當您將它與 GM_xmlhttpRequest 函數結合起來使用時,它可以解析遠端的 XML。 例子:解析遠端 XML GM_xmlhttpRequest({ method: 'GET', url: 'http://greaseblog.blogspot.com/atom.xml', headers: { 'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey/0.3', 'Accept': 'application/atom+xml,application/xml,text/xml', }, onload: function(responseDetails) { var parser = new DOMParser(); var dom = parser.parseFromString(responseDetails.responseText, "application/xml"); var entries = dom.getElementsByTagName('entry'); var title; for (var i = 0; i < entries.length; i++) { title = entries[i].getElementsByTagName('title')[0].textContent; alert(title); } } }); 這段代碼將會載入[http://greaseblog.blogspot.com/atom.xml Atom feed],將它解析成 DOM, 然后查詢 DOM 獲得 entries 列表。對每個 entry, 它再次查詢 DOM ,獲得 entry 的標 題,并在對話框中顯示。轉載于:https://www.cnblogs.com/cuihongyu3503319/archive/2006/10/14/529008.html
總結
- 上一篇: 与凯迪拉克撞脸!吉利全新智能SUV实车曝
- 下一篇: 理想ONE高速起火烧成光架!官方回应:会