zoukankan      html  css  js  c++  java
  • javascript Xml兼容性随笔

    一、前言

    (function (window) {
        if (!window.jasen) {
            window.jasen = {};
        }
    
        if (!window.jasen.core) {
            window.jasen.core = {};
        }
    
        //------------------------------------------------
        // XML operation below.
        //------------------------------------------------
        if (!window.jasen.core.Xml) {
            window.jasen.core.Xml = {};
        }
    
        if (typeof jasen.core.Xml != "object") {
            throw new Error("Invalid entity jasen.core.Xml!");
        }
    
        function createXmlDocument() {
            //IE 
            if (window.ActiveXObject) {
                return new ActiveXObject("Microsoft.XMLDOM");
            }
            //W3C
            else if (document.implementation && document.implementation.createDocument) {
                return document.implementation.createDocument('', '', null);
            }
    
            throw new Error("Xml is not supported by your brower!");
        }
    
        function loadXmlFile(xmlFile) {
            var xmlDocument = createXmlDocument();
            xmlDocument.async = false;
            xmlDocument.load(xmlFile);
            return xmlDocument;
        }
    
        function loadXmlText(xmlText) {
            // IE Must be tested first

    if (window.ActiveXObject) { var xmlDocument = new ActiveXObject("Microsoft.XMLDOM"); xmlDocument.async = false; xmlDocument.loadXML(xmlText); return xmlDocument; } // W3C else if(window.DOMParser) { return (new DOMParser()).parseFromString(xmlText, "text/xml"); } throw new Error("Xml is not supported by your brower!"); } var Xml = window.Xml = window.jasen.core.Xml; Xml.createDocument = createXmlDocument; Xml.loadFile = loadXmlFile; Xml.loadText = loadXmlText; })(window);

     二、范例

     <script language="javascript" type="text/javascript">
            function testXml() {
                var xmlDoc = Xml.loadFile("/Xml/House.xml");
                var xmlDocElement = xmlDoc.documentElement; 
                var nodes = xmlDocElement.getElementsByTagName("city");
                var currNode = null;
                 
                for (var i = 0; i < nodes.length; i++) {
                    currNode = nodes[i]
                }
    
                var xmlText = "<address><city name='北京'><price>150万</price><type>一室三居</type></city></address>";
                xmlDocElement = Xml.loadText(xmlText);
    
                var cityName =  xmlDocElement.selectSingleNode("address/city/@name").nodeValue;
                var price = xmlDocElement.selectSingleNode("address/city/price/text()").nodeValue;
            } 
        </script>
  • 相关阅读:
    GridView 激发了未处理的事件“RowEditing”
    C#中字符串转换成枚举类型的方法
    UltraEdit 应用程序发生错误0xc0000417
    配置错误定义了重复的“system.web.extensions/scripting/scriptResourceHandler” 解决办法
    数据绑定中的一个问题"pages enableEventValidation="true""
    jquery json 格式教程
    Delphi的泛型学习
    Delphi取Ajax网页内容
    Delphi 中经常使用的正则表达式
    Delphi中的动态数组总结
  • 原文地址:https://www.cnblogs.com/jasenkin/p/javascript_xml.html
Copyright © 2011-2022 走看看