一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

firefo xml 讀寫實(shí)現(xiàn)js代碼

一 讀xml文件到字符串
第一步:將xml文件,轉(zhuǎn)化為DOM結(jié)構(gòu)
1
var xmlDoc = document.implementation.createDocument("", "test", null);
xmlDoc.load("d://develop//bookmarks.xml");
2
var req = new XMLHttpRequest();
req.open("GET", "chrome://passwdmaker/content/people.xml", false);
req.send(null);
var dom = req.responseXML;
dom就是DOM結(jié)構(gòu)對(duì)象
第二步:將DOM結(jié)構(gòu)轉(zhuǎn)化為xml字符串
var serializer = Components.classes["@mozilla.org/xmlextras/xmlserializer;1"].createInstance(Components.interfaces.nsIDOMSerializer);
var str = serializer.serializeToString(dom);
str就是xml內(nèi)容的字符串
二 將xml字符串寫成xml文件
// str為xml字符串
var parser = new DOMParser();
var dom = parser.parseFromString(str, "text/xml");
var serializer = Components.classes["@mozilla.org/xmlextras/xmlserializer;1"].createInstance(Components.interfaces.nsIDOMSerializer);
var foStream = Components.classes["@mozilla.org/NETwork/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);
var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("d://develop//myxmlfile.xml");// 保持的位置
foStream.init(file, 0x02 | 0x08 | 0x20, 0664, 0); // write, create, truncate
serializer.serializeToStream(dom.documentElement, foStream, ""); // rememeber, dom is the DOM tree
foStream.close();
附件:
1 創(chuàng)建DOM結(jié)構(gòu)
// 生成document對(duì)象
var xmldoc = document.implementation.createDocument("","",null);
// 創(chuàng)建xml文件的頭
// <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
var head = xmldoc.createProcessingInstruction("xml","version=/"1.0/" encoding=/"UTF-8/" standalone=/"yes/"");
xmldoc.appendChild(head);
// 創(chuàng)建ROOT節(jié)點(diǎn)
var nodest = xmldoc.createElement("nodeset");
xmldoc.appendChild(nodest);
// 創(chuàng)建子節(jié)點(diǎn)
var elem1 = doc.createElement("name");
elem1.textContent = "張三";
nodest.appendChild(elem1);
var elem2 = doc.createElement("name");
elem2.textContent = "李四";
nodest.appendChild(elem2);
// 創(chuàng)建的結(jié)果如下
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><nodeset><name>張三</name><name>李四</name></nodeset>
這樣生成的xmlDOM結(jié)構(gòu)通過系列化轉(zhuǎn)化為xml字符串時(shí)不會(huì)自動(dòng)縮進(jìn),但通過XML對(duì)象解析下就可以了。
var serializer = Components.classes["@mozilla.org/xmlextras/xmlserializer;1"].createInstance(Components.interfaces.nsIDOMSerializer);
// 解析DOMxml結(jié)構(gòu)到xml字符串
// 要XML對(duì)象解析成功必須將xml頭去掉
// 去掉xml頭
var xmlDeclaration = /^</?xml version[^>]+?>/;
var str = new XML( serializer.serializeToString(xmldoc).replace(xmlDeclaration, '') ).toXMLString();
哈哈,現(xiàn)在的str就是能夠自動(dòng)縮進(jìn)的xml字符串了。不過要是你的xml要編碼成功還得在str前面加上xml頭,千萬別忘了啊。

JavaScript技術(shù)firefo xml 讀寫實(shí)現(xiàn)js代碼,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产99视频精品免费视频7 | 亚洲国产成人精品91久久久 | 在线观看国产情趣免费视频 | 狠狠干视频网 | 日本免费久久久久久久网站 | 久久亚洲精品国产亚洲老地址 | 91在线一区二区 | 色狠狠成人综合色 | 国产成人最新毛片基地 | 精品伊人久久久香线蕉 | 一二三四视频社区在线中文1 | 怡红院免费的全部视频 | 欧美一级免费 | 天天天综合 | 中文字幕一区二区三区5566 | 欧美日韩激情一区二区三区 | 99精品伊人久久久大香线蕉 | 午夜精品乱人伦小说区 | 亚洲激情五月 | 看免费人成va视频全 | 好吊在线视频 | 国产一区二区高清在线 | 视色4se网站在线 | 直接观看黄网站免费视频 | 91免费精品国偷自产在线在线 | 亚洲精品视频二区 | 免费一级乱子伦片 | 黄色小视频在线免费观看 | 精品视频在线免费 | 中文字幕久久久久 | 韩国一级成a人片在线观看 韩国一级毛片 | 精品久久久久久久久久 | 久久亚洲精品中文字幕二区 | 好吊日在线 | 亚洲精品在线播放视频 | 四虎国产精品免费久久影院 | 亚洲文学 | 国产极品美女在线 | 亚洲骚色 | 久久大香线蕉综合爱 | 亚洲另类图片专区 |