• JavaScript 解析xml字符串


    续js解析xml文件,下面笔记是js解析xml字符串与文件的不同

     loadXML = function(xmlString){
    var xmlDoc=null;
    //判断浏览器的类型
    //支持IE浏览器
    if(!window.DOMParser && window.ActiveXObject){ //window.DOMParser 判断是否是非ie浏览器
    var xmlDomVersions = ['MSXML.2.DOMDocument.6.0','MSXML.2.DOMDocument.3.0','Microsoft.XMLDOM'];
    for(var i=0;i<xmlDomVersions.length;i++){
    try{
    xmlDoc = new ActiveXObject(xmlDomVersions[i]);
    xmlDoc.async = false;
    xmlDoc.loadXML(xmlString); //注!loadXML方法载入xml字符串,不同处
                        break;
                    }catch(e){
    }
    }
    }
    //支持Mozilla浏览器
    else if(window.DOMParser && document.implementation && document.implementation.createDocument){
    try{
    /* DOMParser 对象解析 XML 文本并返回一个 XML Document 对象。
    * 要使用 DOMParser,使用不带参数的构造函数来实例化它,然后调用其 parseFromString() 方法
    * parseFromString(text, contentType) 参数text:要解析的 XML 标记 参数contentType文本的内容类型
    * 可能是 "text/xml" 、"application/xml" 或 "application/xhtml+xml" 中的一个。注意,不支持 "text/html"。
    */
    domParser = new DOMParser();
    xmlDoc = domParser.parseFromString(xmlString, 'text/xml');
    }catch(e){
    }
    }
    else{
    return null;
    }

    return xmlDoc;
    }
    getXmlContent = function(xmlstr,xPath){
    var xmlStr=xmlstr;
    var xmlDoc = loadXML(xmlStr);
    var n;
    var l;
    if(xmlDoc!=null){
    n = xmlDoc.getElementsByTagName(xPath);
    l = n.length;
    //循环添加列表子项
    for(var i=0;i<l;i++){
    document.write(n[i].childNodes[0].firstChild.nodeValue);
    document.write("<br />");
    document.write(n[i].getElementsByTagName("grade")[0].firstChild.nodeValue);
    document.write("<br />");
    document.write(n[i].getElementsByTagName("ranklist")[0].firstChild.nodeType);

    }
    }

    }




  • 相关阅读:
    根据时间戳获取年月日时分秒
    除法函数,乘法函数,加法函数,减法函数
    禁止鼠标点右键
    获取cookie,设置cookie,删除cookie
    解决 堆栈 出现的父对象和子对象相关联的问题 (深拷贝)
    团队展示
    用户规格说明书——结对编程
    测试与优化——结对编程
    程序开发——结对编程
    程序开发初体验
  • 原文地址:https://www.cnblogs.com/gfqFighting/p/2377335.html
Copyright © 2020-2023  润新知