jquery解析XML文件

第一步:

    <package name="ajax" extends="struts-default" namespace="/ajax">
        <action name="ajaxXml" class="cn.xue.shavi.webapp.action.SysparamAction" method="ajaxXml"/> 
    </package>

第二步:

    public String ajaxXml() throws IOException {
     
     System.out.println("*****" + name);
     HttpServletResponse response = ServletActionContext.getResponse(); 
        response.setContentType("text/xml;charset=utf-8");
        response.setCharacterEncoding("UTF-8");
        response.setHeader("Cache-Control", "no-cache");
        PrintWriter out=response.getWriter();        
        StringBuilder sb=new StringBuilder("<?xml version='1.0' encoding='UTF-8'?><provinces>");
        sb.append("<province><xian>");
        sb.append("<provinceid>010</provinceid>");
        sb.append("<provinceName>北京</provinceName>");
        sb.append("<provinceAddress>北京市</provinceAddress>");
        sb.append("</xian></province>");
        sb.append("<province><xian>");
        sb.append("<provinceid>020</provinceid>");
        sb.append("<provinceName>上海</provinceName>");
        sb.append("<provinceAddress>上海市</provinceAddress>");
        sb.append("</xian></province>");
        sb.append("</provinces>");
        out.print(sb.toString());
        out.flush();
        out.close();

或者由dom4j生成xml文档

Document document = DocumentHelper.createDocument();//代表整个xml文档
Element rootElement = document.addElement("users"); //代表文档根元素

rootElement.addComment("This is a comment!");       //增加一个注释

     for(int i=0;i<5;i++){
         Element userElement = rootElement.addElement("user");  //增加一个根元素下的一个user子元素        
         Element idElement = userElement.addElement("id");    //增加一个user子元素的一个各个user属性子元素  
         Element nameElement = userElement.addElement("name"); 
         idElement.setText(i + "*");    //文档节点赋值  
         nameElement.setText("北京" + i); 
     }

HttpServletResponse response = ServletActionContext.getResponse();//获得客户端的相应的response对象   并设置向客户端输出的格式 
     response.setContentType("text/xml; charset=utf-8");//客户端的输入格式 和字体
     response.setHeader("Cache-Control", "no-cache"); //取消浏览器缓存
     PrintWriter out = response.getWriter();  //获取向客户端输出流 
     OutputFormat format = OutputFormat.createPrettyPrint();//dom4j的输出格式
     format.setEncoding("utf-8"); 
     XMLWriter writer = new XMLWriter(out, format);

     writer.write(document); //把文档格式document写到输出流中out中  返回给客户端
     out.flush();
     out.close();

        return null;
    }

第三步:

<select id="set">
 <option id="023">广州</option>
 <option id="0755">深圳</option>
</select>
<script type="text/javascript">
 function aa(){
  $.ajax({
        
url:"ajax/ajaxXml.html",   
         type: 'POST',
         dataType: 'xml',
         data: {name:"xuexue"},               
         timeout: 1000,                          
         error: function(){                     
           alert('Error loading XML document');
         },
         success: function(xml){           
          $(xml).find("provinces>province>xian").each(function(){                           
                 var provinceId=$(this).children("provinceid").text();      
                 var provinceName=$(this).children("provinceName").text();
                 var tempOption = document.createElement("option");
                 tempOption.value = provinceId;
                 tempOption.text  = provinceName;
                 alert(provinceId);
                 alert(provinceName);
                 alert($(this).find("provinceAddress").text());
                
set.options[set.length]=tempOption;
         
});
        }
   
});
 }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值