zoukankan      html  css  js  c++  java
  • 客户端的xml操作

    从代理类中获得整个xml一般都转成了string类型了。。这里 我就将今天看到的一个纯JS端的操作XML脚本写下来

    代码
    parseSpatialSearchDoc = function(doc){
        
    var xmlObj = doc;
        
    var exception=null;
        
        
    if(typeof xmlObj == "string"){
            
    //将字符串转换为xml dom对象
            xmlObj = Utils.stringToXml(xmlObj);
        }
        
        
    //解析xml文档
        var root = xmlObj.documentElement;
        
    if(root==null)return null;
        
        exception
    =root.getElementsByTagName("Exception")[0];
        
    if(exception==null){
            
    var spatialSearchObject=null;
            
    var spatialSearchObjectArr=[];
            
    var spatialSearchRecords=null;
            
    var spatialSearchDetail=null;
            
    var filed=null;
            
    var spatialQueryAndRocerdArr=[];
            
    var recordCount=null;
        
            recordCount
    =root.getAttribute("recordCount");
             
            spatialSearchRecords
    =root.getElementsByTagName("ShareServiceResult");
            
    if(spatialSearchRecords!=null&&spatialSearchRecords.length!=0){
                
    for(var i=spatialSearchRecords.length-1;i>=0;i--){
                    spatialSearchObject
    =new SpatialSearchObject();
                    spatialSearchDetail
    =spatialSearchRecords[i].childNodes;
                    
    for(var k=spatialSearchDetail.length-1;k>=0;k--){
                        filed
    =spatialSearchDetail[k].tagName;
                        spatialSearchObject[filed]
    =spatialSearchDetail[k].text?spatialSearchDetail[k].text:spatialSearchDetail[k].textContent;
                    }
                    spatialSearchObjectArr.push(spatialSearchObject);
                }
            }
            spatialQueryAndRocerdArr.push(recordCount);
            spatialQueryAndRocerdArr.push(spatialSearchObjectArr);
            
            
    return spatialQueryAndRocerdArr;
        }
    else return null;
    }

    其中有个将string装成xml的方法也贴下来:

    代码
    Utils.stringToXml = function(str){
        
    var xmlDoc;
        
        
    if (window.ActiveXObject) { // IE
            try {
                xmlDoc 
    = new ActiveXObject("Microsoft.XMLDOM");
                
    //xmldoc = new ActiveXObject("Msxml2.DOMDocument");
                
                
    if(!xmlDoc){
                    xmlDoc 
    = new ActiveXObject("MSXML2.DOMDocument.3.0");
                }
                
                xmlDoc.loadXML(str);
            } 
    catch(e){
                
    //错误处理
            }
        }
    else
            
    if(window.XMLHttpRequest) { //firefox
                var oParser = new DOMParser();
                xmlDoc 
    = oParser.parseFromString(str,"text/xml");
                
    if (xmlDoc.documentElement.tagName == "parsererror") {
                    
    var oSerializer = new XMLSerializer();
                    
    //alert("An error occurred:\n错误代码: " + oSerializer.serializeToString(oXmlDom.documentElement));
                }
            }
        
        
    return xmlDoc;
    }

    因为在急着赶项目所以没有修饰。。。下面在贴下XML格式。供大家参考:

    代码
    <?xml version="1.0" encoding="UTF-8"?><NewDataSet recordCount="5" pageIndex="1" pageSize="200"><ShareServiceResult><NAME xml:space="preserve"></NAME><GEOMETRY></GEOMETRY><ROW_NUM></ROW_NUM></ShareServiceResult></NewDataSet>
  • 相关阅读:
    BZOJ4722 由乃
    LOJ6043 「雅礼集训 2017 Day7」蛐蛐国的修墙方案
    Luogu P2414 [NOI2011]阿狸的打字机
    Luogu P3193 [HNOI2008]GT考试
    Luogu P3167 [CQOI2014]通配符匹配
    Luogu P4503 [CTSC2014]企鹅QQ
    Luogu P5446 [THUPC2018]绿绿和串串
    Luogu P5329 [SNOI2019]字符串
    免密码ssh2登录
    mooon模板的automake、autoconf、m4和libtool版本信息
  • 原文地址:https://www.cnblogs.com/blueSkys/p/1793360.html
Copyright © 2011-2022 走看看