木其网络科技专业程序员代写http://www.xmsydw.com
程序员学历擅长经验网店链接
apenny硕士ASP.NET PHP 电子 通信设计 图像 编程 网络5年进入店铺
zheng_qianqian本科C语言 C++面向对象 Java3年进入店铺
guoguanl本科Java Web项目 JSP Hibernate Struts Mysql4年进入店铺

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>

posted @ 2012-12-03 09:40  C语言程序  阅读(311)  评论(0编辑  收藏  举报
木其网络科技专业程序员代写http://www.xmsydw.com
程序员学历擅长经验网店链接
apenny硕士ASP.NET PHP 电子 通信设计 图像 编程 网络5年进入店铺
zheng_qianqian本科C语言 C++面向对象 Java3年进入店铺
guoguanl本科Java Web项目 JSP Hibernate Struts Mysql4年进入店铺