摘要:如發(fā)生解析錯(cuò)誤時(shí),仍然會(huì)從中返回一個(gè)對(duì)象。但這個(gè)對(duì)象的文檔元素是對(duì)象根元素第一個(gè)子元素為。
DOM2級(jí)核心
docuent.implementation中引入了createDocument()方法,IE9支持該方法,如:
var xmldom = document.implementation.createDocument(namespaceUri, root, doctype);
一般來說只用傳第二個(gè)參數(shù)即可:
var xmldom = document.implementation.createDocument("", "root", null);
創(chuàng)建一個(gè)新的、文檔元素為root的XML文檔,可以使用下面代碼:
var xmldom = document.implementation.createDocument("", "root", null); 命名空間URI為空字符表示未指定命名空間,給文檔類型傳入null即不指定文檔類型。 console.log(xmldom.documentElement.tagName); //"root" var child = xmldom.createElement("child"); xmldom.documentElement.appendChild(child);DOMParser類型
Firefox、Opera、Chrome、Safari支持(IE8不支持),
DOMParse類型可將XML解析為DOM文檔。
創(chuàng)建一個(gè)DOMParse實(shí)例,再調(diào)用
parseFromString()方法。這個(gè)方法接受兩個(gè)參數(shù):要解析的XML字符串和內(nèi)容類型(內(nèi)容類型始終為"text/xml")。返回值是一個(gè)Document實(shí)例。
如:
var parser = new DOMParse(); var xmldom = parser.parseFromString("", "text/xml"); alert(xmldom.documentElement.tagName); //"root" alert(xmldom.documentElement.firstChild.tagName); //"child" var anotherChild = xmldom.createElement("child"); xmldom.documentElement.appendChild(anthorChild); var children = xmldom.getElementsByTagName("child"); alert(children.length); //2
發(fā)生解析錯(cuò)誤時(shí),仍然會(huì)從parseFromString()中返回一個(gè)Document對(duì)象。但這個(gè)對(duì)象的文檔元素是
parseerror元素的內(nèi)容是對(duì)解析錯(cuò)誤地描述。通過getElementsByTagName()查找parsererror確定是否有解析錯(cuò)誤。
var parser = new DOMParser(), xmldom, errors; try { xmldom = parser.parseFromString("XMLSerializer類型", "text/xml"); //這里少了一個(gè)閉標(biāo)簽 errors = xmldom.getElementsByTagName("parsererror"); if (errors.length > 0) { throw new Error("Parsing error!"); } } catch (ex) { console.log(ex.message); //Parsing error! }
此類可將DOM文檔序列化為XML字符串。(IE6~8不支持)。
要序列化DOM文檔,首相必須創(chuàng)建XMLSerializer實(shí)例,然后將文檔傳入其serializerToString()方法:
var xmldom = document.implementation.createDocument("", "root", null); xmldom.documentElement.appendChild(xmldom.createElement("child")); var serializer = new XMLSerializer(); var xml = serializer.serializeToString(xmldom); console.log(xml); //IE8之前版本中的XML
(略)
雖然可以通過XML DOM文檔對(duì)象加載XML文件,但公認(rèn)的還是使用XMLHttpRequest對(duì)象比較好。
跨瀏覽器處理XML 解析XMLfunction parseXml(xml) { var xmldom = null; if (typeof DOMParser != "undefined") { xmldom = (new DOMParser()).parseFromString(xml, "text/xml"); var errors = xmldom.getElementsByTagName("parsererror"); if (errors.length > 0) { throw new Error("XML parsing error: " + errors[0].textContent); } } else if (typeof ActiveXObjext != "undefined") { xmldom = createDocument(); xmldom.loadXML(xml); if (xmldom.parseError != 0) { throw new Error("XML parsing error: " + xmldom.parseError.reason); } } else { throw new Error("No XML parser available."); } return xmldom; }序列化XML
function serializeXml(xmldom) { if (typeof XMLSerializer != "undefined") { return (new XMLSerializer()).serializeToString(xmldom); } else if (typeof xmldom.xml != "undefined") { return xmldom.xml; } else { throw new Error("Could not serialize XML DOM."); } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/110344.html
摘要:如發(fā)生解析錯(cuò)誤時(shí),仍然會(huì)從中返回一個(gè)對(duì)象。但這個(gè)對(duì)象的文檔元素是對(duì)象根元素第一個(gè)子元素為。 DOM2級(jí)核心 docuent.implementation中引入了createDocument()方法,IE9支持該方法,如: var xmldom = document.implementation.createDocument(namespaceUri, root, doctype); ...
摘要:中的它不是一種正式的規(guī)范,,是的另一表現(xiàn)形式。是第一個(gè)支持它的。主要的功能是用來將轉(zhuǎn)換為文檔。方法用于取得當(dāng)前參數(shù)的值,參數(shù)為命名空間和參數(shù)的內(nèi)部名稱。跨瀏覽器使用這個(gè)函數(shù)接收兩個(gè)參數(shù)要執(zhí)行轉(zhuǎn)換的上下文節(jié)點(diǎn)和文檔對(duì)象。 IE中的XSTL 它不是一種正式的規(guī)范,, 是XPath的另一表現(xiàn)形式。 IE是第一個(gè)支持它的。 簡單的XSTL轉(zhuǎn)換 XML文檔的方式就是將它們分別加到一個(gè)DOM文檔中...
摘要:中的它不是一種正式的規(guī)范,,是的另一表現(xiàn)形式。是第一個(gè)支持它的。主要的功能是用來將轉(zhuǎn)換為文檔。方法用于取得當(dāng)前參數(shù)的值,參數(shù)為命名空間和參數(shù)的內(nèi)部名稱。跨瀏覽器使用這個(gè)函數(shù)接收兩個(gè)參數(shù)要執(zhí)行轉(zhuǎn)換的上下文節(jié)點(diǎn)和文檔對(duì)象。 IE中的XSTL 它不是一種正式的規(guī)范,, 是XPath的另一表現(xiàn)形式。 IE是第一個(gè)支持它的。 簡單的XSTL轉(zhuǎn)換 XML文檔的方式就是將它們分別加到一個(gè)DOM文檔中...
摘要:在中,對(duì)象是通過庫中的對(duì)象實(shí)現(xiàn)的。可以檢測(cè)對(duì)象的屬性,該屬性表示請(qǐng)求響應(yīng)過程的當(dāng)前活動(dòng)階段。已經(jīng)調(diào)用但尚未接收到響應(yīng)接收。由于內(nèi)存原因,不建議重用對(duì)象。頭部信息對(duì)象提供了操作請(qǐng)求頭部和響應(yīng)頭部信息的方法。建議使用自定義的頭部名稱。 在IE5中,XHR對(duì)象是通過MSXML庫中的ActiveX對(duì)象實(shí)現(xiàn)的。在IE中可能會(huì)遇到三種不同版本的XHR對(duì)象,即MSXML2.XMLHttp、MSXML...
摘要:但上述兩個(gè)情況中都是同一份文檔。提示對(duì)象是對(duì)象的一部分,可通過屬性對(duì)其進(jìn)行訪問。返回包含指定節(jié)點(diǎn)的子節(jié)點(diǎn)的集合,該集合為即時(shí)更新的集合。對(duì)象在中,對(duì)象表示元素屬性節(jié)點(diǎn)的無序集合。 DOM簡介( Document Object Model 文檔對(duì)象模型) W3C W3C 文檔對(duì)象模型 (DOM) 是中立于平臺(tái)和語言的接口,它允許程序和腳本動(dòng)態(tài)地訪問和更新文檔的內(nèi)容、結(jié)構(gòu)和樣式。W3C D...
閱讀 2568·2021-11-22 13:53
閱讀 4069·2021-09-28 09:47
閱讀 858·2021-09-22 15:33
閱讀 809·2020-12-03 17:17
閱讀 3315·2019-08-30 13:13
閱讀 2121·2019-08-29 16:09
閱讀 1176·2019-08-29 12:24
閱讀 2452·2019-08-28 18:14