prototype解析XML

  1. 最近做一个在线客服系统,用到的解析XML  
  1. XML文件user.asp  
  1. <?xml version="1.0" encoding="utf-8"?>  
  1. <%response.ContentType="application/xml"%>  
  2.   
  3. <data>  
  4.   
  5.     <userinfo>  
  6.   
  7.         <user>  
  8.   
  9.             <username>a</username>  
  10.   
  11.             <count>2</count>  
  12.   
  13.             <isreguser>1</isreguser>  
  14.   
  15.             <chat>  
  16.   
  17.                 <content>第一个</content>  
  18.   
  19.                 <systemdata>2008-8-8</systemdata>  
  20.   
  21.             </chat>  
  22.   
  23.             <chat>  
  24.   
  25.                 <content>第二个</content>  
  26.   
  27.                 <systemdata>2008-8-9</systemdata>  
  28.   
  29.             </chat>  
  30.   
  31.         </user>  
  32.   
  33.         <user>  
  34.   
  35.             <username>hello</username>  
  36.   
  37.             <count>1</count>  
  38.   
  39.             <isreguser>0</isreguser>  
  40.   
  41.             <chat>  
  42.   
  43.                 <content>haha</content>  
  44.   
  45.                 <systemdata>2008-8-10</systemdata>  
  46.   
  47.             </chat>  
  48.   
  49.         </user>  
  50.   
  51.         <user>  
  52.   
  53.             <username>my</username>  
  54.   
  55.             <count>1</count>  
  56.   
  57.             <isreguser>0</isreguser>  
  58.   
  59.             <chat>  
  60.   
  61.                 <content>haha</content>  
  62.   
  63.                 <systemdata>2008-8-120</systemdata>  
  64.   
  65.             </chat>  
  66.   
  67.         </user>  
  68.   
  69.     </userinfo>  
  70.   
  71.     <AnswerDate>  
  72.   
  73.         <Answer>您好,欢迎光临,我们将竭诚为您服务!</Answer>  
  74.   
  75.         <Answer>普通会员积分满1000,可以提升为VIP会员!</Answer>  
  76.   
  77.     </AnswerDate>  
  78.   
  79.     <onlineService>  
  80.   
  81.         <onlineServiceInfo>  
  82.   
  83.             <onlineServiceID>1</onlineServiceID>  
  84.   
  85.             <onlineServiceName>财务</onlineServiceName>  
  86.   
  87.             <onlineServiceStatus>0</onlineServiceStatus>  
  88.   
  89.         </onlineServiceInfo>  
  90.   
  91.         <onlineServiceInfo>  
  92.   
  93.             <onlineServiceID>2</onlineServiceID>  
  94.   
  95.             <onlineServiceName>销售</onlineServiceName>  
  96.   
  97.             <onlineServiceStatus>1</onlineServiceStatus>  
  98.   
  99.         </onlineServiceInfo>  
  100.   
  101.         <onlineServiceInfo>  
  102.   
  103.             <onlineServiceID>3</onlineServiceID>  
  104.   
  105.             <onlineServiceName>售前</onlineServiceName>  
  106.   
  107.             <onlineServiceStatus>2</onlineServiceStatus>  
  108.   
  109.         </onlineServiceInfo>  
  110.   
  111.     </onlineService>  
  112.   
  113. </data>  
  1. 对应解析文件:  
  1. <pre class="jscript" name="code">function ResponseDate(){  
  2.   
  3.   
  4.   
  5. var url = 'user.asp';  
  6.   
  7. var pars = 'RandID='+new Date();  
  8.   
  9. var myAjax = new Ajax.Request(  
  10.   
  11. url,  
  12.   
  13. {  
  14.   
  15. method: 'post',  
  16.   
  17. parameters: pars,  
  18.   
  19. onComplete: showResponse,  
  20.   
  21. onFailure:showerr  
  22.   
  23. });  
  24.   
  25. }  
  26.   
  27. function showerr(originalRequest){  
  28.   
  29.     alert("err");  
  30.   
  31. }  
  32.   
  33. function showResponse(originalRequest){  
  34.   
  35.   
  36.   
  37.     var UserString="";  
  38.   
  39.     var AnswerString="";  
  40.   
  41.     var ServiceString="";  
  42.   
  43.       
  44.   
  45.     //获取XML/  
  46.   
  47.     var results = originalRequest.responseXML;  
  48.   
  49.     //alert(results);  
  50.   
  51.     //用户列表/  
  52.   
  53.     var items = results.getElementsByTagName("user");   
  54.   
  55.     var item;  
  56.   
  57.       
  58.   
  59.     for(var i = 0; i < items.length; i++) {   
  60.   
  61.         item = items[i];   
  62.   
  63.         var usernames =item.getElementsByTagName("username")[0].firstChild.nodeValue;   
  64.   
  65.         var mycount =item.getElementsByTagName("count")[0].firstChild.nodeValue;   
  66.   
  67.         var isreg =item.getElementsByTagName("isreguser")[0].firstChild.nodeValue;   
  68.   
  69.         UserStringUserString=UserString+usernames+"|"+mycount+"|"+isreg+"|||";  
  70.   
  71.         if(mycount>0){  
  72.   
  73.                   
  74.   
  75.                 var chatitems = item.getElementsByTagName("chat");   
  76.   
  77.                 var chatitem;  
  78.   
  79.   
  80.   
  81.                 for(var j = 0; j < chatitems.length; j++) {   
  82.   
  83.                     chatitem = chatitems[j];   
  84.   
  85.                     var chatcontent =chatitem.getElementsByTagName("content")[0].firstChild.nodeValue;   
  86.   
  87.                     var chatdata =chatitem.getElementsByTagName("systemdata")[0].firstChild.nodeValue;  
  88.   
  89.                     setChatsRecordString(usernames,chatcontent,chatdata,1);  
  90.   
  91.                 }  
  92.   
  93.         }  
  94.   
  95.         //ChatsRecordStringChatsRecordString=ChatsRecordString+"[|]"  
  96.   
  97.     }  
  98.   
  99.       
  100.   
  101.     //问题列表/  
  102.   
  103.     var AnswerItems = results.getElementsByTagName("Answer");   
  104.   
  105.     //alert(AnswerItems.length);  
  106.   
  107.     var AnswerItem;  
  108.   
  109.     for(var i = 0; i < AnswerItems.length; i++) {   
  110.   
  111.         AnswerItem = AnswerItems[i];   
  112.   
  113.         var myAnswer =AnswerItem.firstChild.nodeValue;   
  114.   
  115.         AnswerStringAnswerString=AnswerString+myAnswer+"|";  
  116.   
  117.     }  
  118.   
  119.       
  120.   
  121.     //客服列表/  
  122.   
  123.     var ServiceItems = results.getElementsByTagName("onlineServiceInfo");   
  124.   
  125.     //alert(ServiceItems.length);  
  126.   
  127.     var ServiceItem;  
  128.   
  129.       
  130.   
  131.     for(var i = 0; i < ServiceItems.length; i++) {   
  132.   
  133.         ServiceItem = ServiceItems[i];   
  134.   
  135.         var onlineServiceID =ServiceItem.getElementsByTagName("onlineServiceID")[0].firstChild.nodeValue;   
  136.   
  137.         var onlineServiceName =ServiceItem.getElementsByTagName("onlineServiceName")[0].firstChild.nodeValue;   
  138.   
  139.         var onlineServiceStatus =ServiceItem.getElementsByTagName("onlineServiceStatus")[0].firstChild.nodeValue;   
  140.   
  141.         ServiceStringServiceString=ServiceString+onlineServiceID+"/"+onlineServiceName+"/"+onlineServiceStatus+"|";  
  142.   
  143.         //alert(onlineServiceID+"/"+onlineServiceName+"/"+onlineServiceStatus);  
  144.   
  145.     }  
  146.   
  147.     alert(results.getElementsByTagName("onlineUser")[0].firstChild.nodeValue);  
  148.   
  149.   
  150.   
  151.       
  152.   
  153. }</pre>  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值