JS—XML(DOM2)

作者: Miss____Du | 来源:发表于2015-02-03 21:36 被阅读159次

实现DOM2级XML处理功能的浏览器为IE9及更高版本,Firefox,Safari,Chrome,Opera这些现代浏览器。

  • 创建xml文档对象
    var xmldom=document.implementation.createDocument('',"root",null);
    特点:参数序列分别为:(命名空间,xml文档根标签,文档声明)
    因为命名空间很难管理,所以不设置命名空间,xml没有文档声明,但是也必须要传递参数。

  • 载入xml
    dom2级不支持loadXML()方法,也不支持序列化.xml,但是提供.load方法载入xml文档,但是支持这个方法的只有火狐浏览器以及欧朋浏览器。

  • 载入xml文档load
    var xmldom=document.implementation.createDocument('',"root",null);
    xmldom.async=true;
    xmldom.onload=function(){
    alert(xmldom.documentElement.getElementsByTagName('user')[0].firstChild.nodeValue)
    }
    xmldom.load("demo.xml");
    特点:同样加载方式还是异步加载,只是不用再去判断文档就绪状态,而是直接使用onload事件来进行。

  • DOMParser()代替加载字符串的loadXML()
    该方法是Firefox提出的,后来其他浏览器也都支持了,用来弥补DOM2级不提供加载xml字符串的办法。
    var parser=new DOMParser();
    var xmldom=parser.parseFromString('<root><user>dudu</user></root>','text/xml');
    alert(xmldom.documentElement.firstChild.tagName)
    特点:
    1、第一步需要先创建一个DOMParser对象,然后调用该对象的parseFormString()
    2、参数:第一个参数是格式良好的xml字符串,第二个参数是文档类型。

  • XMLSerializer()代替 .xml序列化的方法
    var serializer=new XMLSerializer();
    var xml=serializer.serializeToString(xmldom);
    alert(xml);
    特点:
    1、第一步需要创建一个XMLSerializer对象,然后调用该对象的serializeToString()
    2、参数:xml文档对象

  • 错误解析
    parser.parseFromString根据传入的xml字符串进行解析,出现错误时,会从parser.parseFromString中返回一个Document对象,这个对象的的文档元素是<parsererror>,里面包含着错误信息
    var parser=new DOMParser();
    var xmldom=parser.parseFromString('<root><user>dudu<user></root>','text/xml');
    if(!xmldom.getElementsByTagName('parsererror').length)
    {
    var serializer=new XMLSerializer();
    var xml=serializer.serializeToString(xmldom);
    alert(xml);
    }else{
    alert(xmldom.getElementsByTagName('parsererror')[0].textContent)
    }
    特点:
    1、判断一下返回的xmldom对象是否包含parsererror就可以,如果包含则说明,解析出错。
    2、.textContent是xml的特有属性,类似于innerhtml是html的特有属性似的。

相关文章

  • JS—XML(DOM2)

    实现DOM2级XML处理功能的浏览器为IE9及更高版本,Firefox,Safari,Chrome,Opera这些...

  • DOM级XML操作方法

    // DOM2级XML// 创建XMLDOM对象var xmlDom = document.implementat...

  • JavaScript 高级程序设计(第18章 JavaScrip

    第18章 JavaScript 与 XML 1. 浏览器对 XML DOM 的支持 (1) DOM2 级核心 * ...

  • 事件处理程序

    HTML事件处理程序 HTML程序和JS无法分离 DOM0级事件处理程序 DOM2级事件处理程序 DOM2级事件定...

  • 2018-12-27

    第12章 DOM2和DOM3 DOM1级主要定义的是HTML和XML文档的底层结构。DOM2和DOM3则在这个结构...

  • 十八

    DOM2和DOM3DOM1级主要定义的是HTML和XML文档的低层结构。DOM2和DOM3级则在这个结构的基础上引...

  • XML 转 JSON 插件

    xml2js XML 转 JSON 插件

  • JS初级月考

    1、Dom0级和Dom2级有什么区别?Dom2级的优势在哪? Dom0级:js跟html完全分离,便于封装缺点:同...

  • Some extend widgets

    1. number.js static/xml/widget.xml 2. percent.js static/x...

  • java_Ajax

    Ajax:(asynchronous js and xml) 异步的js和xml 指的是一种交互方式 异步加载,客...

网友评论

    本文标题:JS—XML(DOM2)

    本文链接:https://www.haomeiwen.com/subject/sbdrxttx.html