国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
js 操作XML 備份
var XmlChart = function(config) {
 /* 傳入的config必須要有url或xmlStr */
    if (!config.url && !config.xmlStr) {
        return null;
    }
 /* 要返回的對像 */
    var xmlChartObj = {
  /* 判斷是否是IE */
        _isIe: navigator.appName == "Microsoft Internet Explorer" ? true: false,
  /* 對象創(chuàng)建時初始化的函數(shù) */
        init: function() {
            /* 統(tǒng)一瀏覽器間selectNodes和selectSingleNode方法 */
            if (!this._isIe) {
                var ex;
                XMLDocument.prototype.__proto__.__defineGetter__("xml",
                function() {
                    try {
                        return new XMLSerializer().serializeToString(this);
                    } catch(ex) {
                        var d = document.createElement("div");
                        d.appendChild(this.cloneNode(true));
                        return d.innerHTML;
                    }
                });
                Element.prototype.__proto__.__defineGetter__("xml",
                function() {
                    try {
                        return new XMLSerializer().serializeToString(this);
                    } catch(ex) {
                        var d = document.createElement("div");
                        d.appendChild(this.cloneNode(true));
                        return d.innerHTML;
                    }
                });
                XMLDocument.prototype.__proto__.__defineGetter__("text",
                function() {
                    return this.firstChild.textContent;
                });
                Element.prototype.__proto__.__defineGetter__("text",
                function() {
                    return this.textContent;
                });
                XMLDocument.prototype.selectSingleNode = Element.prototype.selectSingleNode = function(XPath) {
                    var x = this.selectNodes(xpath);
                    if (!x || x.length < 1) return null;
                    return x[0];
                }
                XMLDocument.prototype.selectNodes = Element.prototype.selectNodes = function(xpath) {
                    var xpe = new XPathEvaluator();
                    var nsResolver = xpe.createNSResolver(this.ownerDocument == null ? this.documentElement: this.ownerDocument.documentElement);
                    var result = xpe.evaluate(xpath, this, nsResolver, 0, null);
                    var found = [];
                    var res;
                    while (res = result.iterateNext()) found.push(res);
                    return found;
                }
                Node.prototype.transformNode = function(oXslDom) {
                    var oProcessor = new XSLTProcessor();
                    oProcessor.importStylesheet(oXslDom);
                    var oResultDom = oProcessor.transformToDocument(this);
                    var sResult = oResultDom.xml;
                    if (sResult.indexOf(" <transformiix:result") > -1) {
                        sResult = sResult.substring(sResult.indexOf("> ") + 1, sResult.lastIndexOf(" <"));
                    }
                    return sResult;
                };
            }
   /* 將用戶定義參數(shù)傳賦給對象 */
            for (var prop in config) {
                eval('this.' + prop + ' = "' + config[prop] + '";');
            }
            /* 加載XML */
            this.parseXML();
        },
  /* 加載XML */
        parseXML: function() {
            var xmlDoc;
            if (this._isIe) {
                xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
                xmlDoc.async = false;
                //關(guān)閉異步加載,這樣確保在文檔完全加載之前解析器不會繼續(xù)腳本的執(zhí)行。
    /* 根據(jù)文件路徑或傳入字符串加載XML */
                if (this.url) {
                    xmlDoc.load(this.url)
                } else if (this.xmlStr) {
                    xmlDoc.loadXML(this.xmlStr);
                }
            } else {
                try //Firefox, Mozilla, Opera, etc.
                {
                    xmlDoc = document.implementation.createDocument("", "", null);
                    xmlDoc.async = false; //關(guān)閉異步加載,這樣確保在文檔完全加載之前解析器不會繼續(xù)腳本的執(zhí)行。
     /* 根據(jù)文件路徑或傳入字符串加載XML */
                    if (this.url) {
                        xmlDoc.load(this.url)
                    } else if (this.xmlStr) {
                        xmlDoc = (new DOMParser()).parseFromString(this.xmlStr, "text/xml");
                    }
                } catch(e) {
                    alert("加載文件出錯:\n" + e.message);
                    return;
                }
            }
   /* 將加載的XML對象賦給元素的el屬性 */
            this.el = xmlDoc;
            //this.originalEl = o;
        },
        /// <summary>根據(jù)xpath取符合條件的節(jié)點集合</summary>
        /// <param name="domDoc">xml對象</param>
        /// <param name="xpath">xpath語句</param>
        /// <returns>返回符合條件的節(jié)點集合</returns>
        selectNodes: function(xpath) {
            if (this._isIe) {
                return this.el.selectNodes(xpath);
            } else {
                var aNodeArray = new Array();
                var xPathResult = this.el.evaluate(xpath, this.el, this.el.createNSResolver(this.el.documentElement), XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
                if (xPathResult) {
                    var oNode = xPathResult.iterateNext();
                    while (oNode) {
                        aNodeArray[aNodeArray.length] = oNode;
                        oNode = xPathResult.iterateNext();
                    }
                }
                return aNodeArray;
            }
        },
        selectSingleNode: function(xpath) {
            if (this._isIe) {
    l(this.el.selectSingleNode(xpath));
                return this.el.selectSingleNode(xpath);
            } else {
                var aNodeArray = new Array();
                var xPathResult = this.el.evaluate(xpath, this.el, this.el.createNSResolver(this.el.documentElement), XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
                if (xPathResult) {
                    var oNode = xPathResult.iterateNext();
                    while (oNode) {
                        aNodeArray[aNodeArray.length] = oNode;
                        oNode = xPathResult.iterateNext();
                    }
                }
                return aNodeArray[0];
            }
        },
  /* 創(chuàng)建節(jié)點,parent為父節(jié)點的對象或xpath,node為子節(jié)點的對象 */
        createNode: function(parent, node) {},
  /* 創(chuàng)建節(jié)點,parent為父節(jié)點的對象或xpath,cfg為子節(jié)點的參數(shù) */
        createNodeJ: function(parent, cfg) {},
        removeNode: function(parent, node) {},
        createAttr: function(node, name, value) {},
        createAttrJ: function(node, cfg) {},
  
  /* 修改屬性值 */
        setAttr: function(node, name, value) {
   var node = this.selectSingleNode(node);
    if(node){
     node.setAttribute(name,value);
    }
   },
        setAttrJ: function(cfg) {},
  /*設(shè)置節(jié)點文本值*/
        setText: function(node, text) {
            if (typeof node == 'string') {
                node = this.selectSingleNode(node);
            }
            node.firstChild.nodeValue = text;
        },
  /* 返回對象的xml字符串 */
        getStr: function() {
   /* 得到對象的xml字符串 */
            var s = this.el.xml || new XMLSerializer().serializeToString(this.el);
   /* 字符串壓縮, */
            s = s.replace(/>[\n|\t|\s]*</g, '><');
            return s;
        },
  /* 重新加載xml */
        reLoad: function() {
            this.parseXML();
        },
  /** 定義可修改節(jié)點的屬性,
  * 可以用來控制不在這個定義里的內(nèi)容不讓修改,
  * 還可用來定義節(jié)點xpath,要修改的內(nèi)容是文本還是屬性等
  */
        N: {
            chartType: {
                xpath: 'chart/chart_type',
                type: 'value'
            }
        },
        /*替換圖表類型*/
        chgChartType: function(s) {
            this.setText(this.N.chartType.xpath, s);
        },
  chgLegend:function(){},
  chgChart:function(cfg){
   for(var i=0;i<cfg.length;i++){
    for(var attrName in cfg[i].attr){
     this.setAttr(cfg.nodeName,attrName,cfg[i].attr[attrName]);
    }
   }
  }
    }
 /*執(zhí)行初始化*/
    xmlChartObj.init();
    return xmlChartObj;
}
/* 調(diào)試用,輸出元素 */
function l(o) {
    if (document.all) {
        alert(o);
    } else {
        console.log(o);
    }
}
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
簡單了解JavaScript操作XPath的一些基本方法
XML DOM Replace Nodes
XPath學習
Windows8WinRT XML數(shù)據(jù)API
XML DOM介紹
Javascript 操作XML
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服