JavaScript 【非IE DOM2级XML】
DOM2中的XML
IE可以实现了对XML字符串或XML文件的读取,其他浏览器也各自实现了对XML处理功能。DOM2级在document.implementaion中引入了createDocument()方法。IE9、Firefox、Opera、Chrome和Safari都支持这个方法。
var xmlDom = document.implementation.createDocument("", "root", null);
//1 命名空间 2 跟表亲 3 文档声明
//XML DOM对象已创建,并且提供了root根标签
// alert(xmlDom.documentElement);
// alert(xmlDom.documentElement.tagName);
// alert(xmlDom.getElementsByTagName("root")[0].tagName);
//标准DOM创建节点
var user = xmlDom.createElement("user");
var userText = xmlDom.createTextNode("cpu"); //创建文本
user.appendChild(userText);
xmlDom.documentElement.appendChild(user);
alert(xmlDom.getElementsByTagName("user")[0].firstChild.nodeValue);
//DOM2级的XML DOM对象不支持loadXML(),无法建议直接创建XML字符串
//异步加载
xmlDom.async = true;
xmlDom.onload = function () {
alert(xmlDom.getElementsByTagName('user')[0].tagName);
}
xmlDom.load('abc.xml');
//load()方法只支持firefox浏览器,意义不大
//1,不能使用字符串创建XML,比如IE的loadXML()方法
//2,不能像IE那样,通过.xml序列化XML
//模拟loadXML()方法,可以建议的创建XML字符串
var xmlParser = new DOMParser();
var xmlStr = "<root>\n<user>CPU123</user>\n</root>";
var xmlDom = xmlParser.parseFromString(xmlStr, "text/xml");
alert(xmlDom.getElementsByTagName("user")[0].firstChild.nodeValue);
//模拟.xml属性序列花字符串
var serializer = new XMLSerializer();
var xml = serializer.serializeToString(xmlDom);
alert(xml);
最新文章
- Chrome扩展程序的二次开发:把它改得更适合自己使用
- Java工厂设计模式
- 原生态js获取节点的方法
- iOS sha1加密算法
- Levenshtein distance
- HDU1001
- 找出图像I的代数中心
- 第四节 使用XML
- Git使用完全解析(一)
- ini文件解析c库(iniparser)
- 虚拟化之docker安装篇
- 六行代码获取本地IP
- 跟我extjs5(38--单个模块的设计[6获得模块列表数据])
- 如何获取网页验证码图片并保存到本地(Java实现) [问题点数:40分,结帖人lanxuezaipiao]
- FZU 2092 收集水晶
- SpringMVC详解
- SQLiteDatabase的使用
- Web前端-Vue.js必备框架(五)
- Springboot整合Ehcache缓存
- EF CodeFirst系列(3)---EF中的继承策略(暂存)