• javaScript 解析 xml


    工作 不忙的时候,就学习一下数据的格式。

    前两天学习一下json .可以正确的解析,今天倒腾一下xml.

    搞了半天,最终在不断的尝试和实现下搞定。网上有一些例子。都是在保存成某个xml 文件。如a.xml。

    现在,需要做的是服务器返回一个xml 格式的内容,然后js 来解析。例子很简单,以后可以做为一个基础扩展学习。有什么不足的地方,有指出。共同学习。

    在服务器端拼接 xml 格式的内容。以下只贴出主要代码。

             String xmlString="<user><name>"+userName+"</name><pwd>"+userPwd+"</pwd></user>";
    	 resp.setContentType("text/xml");
    	 resp.getWriter().print(xmlString);

    注:一定要设置为resp.setContentType("text/xml"). 否则为解析不出来。

    js 获 取服务器传递的内容。

     <script type="text/javascript">
      function mySubmit(){
         var userName=  document.getElementById("userName").value;
         var userPwd =  document.getElementById("userPwd").value;
         var content="userName="+userName+"&userPwd="+userPwd;
         sendAjaxRequest("login.do?xx="+Math.random(),content,myBack);
      
      };
      function myBack(){
       if(xhr.readyState==4){
          if(xhr.status==200){
              var xmlDoc =xhr.responseXML;
    	  var xmlTalbe = xmlDoc.getElementsByTagName("user");
    	  for(var i=0;i<xmlTalbe.length;i++){
            document.getElementById("msg").innerHTML=xmlTalbe[i].getElementsByTagName("name")[0].childNodes[0].nodeValue +"  密码:"+ xmlTalbe[i].getElementsByTagName("pwd")[0].childNodes[0].nodeValue;
            } 
          }
       }
      };

    注:responseXML 中的XML 是大写的。这些都是服务器的内置方法。不可以改变。

           服务器发放的是xml 用responseXML 接收。如果服务器发放的是text 则用responseText 接收。


    注:一个xml 文件可以包含多个对象Object . 如以上代码。可以包含多个user

    <user id=\"OO1\"><name id=\"1\">"+userName+"</name><pwd>"+userPwd+"</pwd></user><user id=\"OO2\"><name id=\"2\">"+userName+"</name><pwd>"+userPwd+"</pwd></user>

    但是解析不出来。原因是需要一个共同的父结点。

    如:

    <users><user id=\"OO1\"><name id=\"1\">"+userName+"</name><pwd>"+userPwd+"</pwd></user><user id=\"OO2\"><name id=\"2\">"+userName+"</name><pwd>"+userPwd+"</pwd></user></users>

  • 相关阅读:
    RFM模型
    mysql日期函数(时间函数)
    数据库探索
    anaconhda安装步骤
    mysql安装和环境配置
    mysql时间条件查询
    mysql自连接
    mysql查询注意事项(查询优化)
    mysql常见的保留字和反引号使用
    多表联合查询注意事项(索引)
  • 原文地址:https://www.cnblogs.com/java20130726/p/3218290.html
Copyright © 2020-2023  润新知