• JavaScript 【非IE DOM2级XML】


    DOM2中的XML

    IE可以实现了对XML字符串或XML文件的读取,其他浏览器也各自实现了对XML处理功能。DOM2级在document.implementaion中引入了createDocument()方法。IE9FirefoxOperaChromeSafari都支持这个方法。

           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> <user>CPU123</user> </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);

  • 相关阅读:
    树---对称的二叉树
    树---二叉树的下一个节点
    阿里一面电话面
    树---重建二叉树
    CVTE电话面
    聊聊平台型游戏
    Ogre-next with Visual Studio 2019, SDL Memset, CL.exe error
    中国能不能制作AAA游戏?
    Simple Cel Shading 钟馗
    Modeling -> Mixamo auto rigging -> UE4 retargeting
  • 原文地址:https://www.cnblogs.com/cpugege/p/3426009.html
Copyright © 2020-2023  润新知