DOM级XML操作方法

// DOM2级XML
// 创建XMLDOM对象
var xmlDom = document.implementation.createDocument('','root',null); //XML DOM对象已创建,并且提供了root根标签
//alert(xmlDom);
//alert(xmlDom.documentElement.tagName);//获取根标签
alert(xmlDom.getElementsByTagName('root')[0].tagName);//获取根标签第二种方法

   //使用标准DOM去创建节点
   var user = xmlDom.createElement('user');
   xmlDom.documentElement.appendChild('user');
   alert(xmlDom.getElementsByTagName('user')[0].tagName);


   //PS:DOM2级的XML DOM对象是不支持loadXML()方法,无法简易的直接创建XML字符串

//同步加载xml文件
//PS :有没有load()方法,载入外部XML文件
var xmlDom = document.implementation.createDocument('','root',null);
xmlDom.async=false; //false是同步 true是异步 默认异步
xmlDom.load('demo.xml');//载入外部XML文件
// alert(xmlDom.xml);//输出序列化后的XML字符串 报错
alert(xmlDom.getElementsByTagName('user')[0].tagName);
alert(xmlDom.getElementsByTagName('user')[0].firstChild.nodeValue);
alert(xmlDom.getElementsByTagName('user')[0].textContent);//相当于XHTML节点中的innerHTML w3c写法 IE不支持

    //PS:DOM2级是没有.xml属性来序列化XML字符的

//异步加载xml文件

var xmlDom = document.implementation.createDocument('','root',null);
xmlDom.async=true;
xmlDom.onload=function(){ //异步加载通过onload即可,类似IE中的就绪状态事件
alert(xmlDom.getElementsByTagName('user')[0].textContent);
};
xmlDom.load('demo.xml');
//PS:load()方法只支持Firefox浏览器和新版本的Opera浏览器,其它浏览器不支持

//问题
//1 不能简易 的使用字符串来创建XML,比如类似与IE的loadXML()方法。
//2 不能够像IE中那样 通过.xml序列化XML字符串输出

//DOMParser类型
//模拟loadXML()方法,可以简易的创建XML字符串
var xmlParser = new DOMParser(); //创建DOMParser对象
//alert(xmlParser);
var xmlStr='<root><user>lee</user></root>'; //xml字符串
var xmlDom =xmlParser.parserFromString(xmlStr,'text/xml');//XMLDocumentXMLDOM
alert(xmlDom.getElementsByTagName('user')[0].tagName);

//模拟.xml属性序列化字符串
var serializer = new XMLSerializer();
var xml = serializeToString(xmlDom);
alert(xml);

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,932评论 18 399
  • 实现DOM2级XML处理功能的浏览器为IE9及更高版本,Firefox,Safari,Chrome,Opera这些...
    Miss____Du阅读 3,619评论 0 4
  • 1.行级元素有哪些?块级元素有哪些?行级元素如何转换成块级元素? block元素的特点: 1.总在新行开始,2.高...
    我的天气很好啦阅读 5,385评论 2 9
  • 1.云集微店顺应了国家发展趋势和经济转型改革,响应了国家“大众创业,万众创新”的号召! 2.云集微店是中国最大、最...
    babytongtong阅读 5,130评论 0 0
  • author github Android Android 学习网站推荐 http://androidcat....
    小彤花园阅读 11,076评论 9 134