jQuery 解析xml文档

用jQuery解析xml文档:

 

1、xml.jsp

 

 <script type="text/javascript" src="scripts/jquery-1.6.2.min.js"></script>
 <script type="text/javascript">
  $(function(){
   $("#btn").click(function(){
    $.ajax({
     type: "POST",
     url: "XmlServlet",
     dataType: "xml",
     data: {name:$("#name").val()},
     success: function(datas){
      var name = $(datas).find("name").text();
      var age = $(datas).find("age").text();
      var address = $(datas).find("address").text();
      var email = $(datas).find("email").text();
      //生成表格的形式显示到页面中
      var html = "<table width='50%' border='1' align='center'><tr><th>name</th><th>age</th><th>address</th><th>address</th></tr><tr><td>"+name+"</td><td>"+age+"</td><td>"+address+"</td><td>"+email+"</td></tr></table>";
      $("#theBody table:eq(0)").remove();
      $("#theBody").append(html);
     }
    });
   });
  });
 </script>
  </head>
  <body id="theBody">
 <select id="name" name="name">
  <option value="tomcat">Tom Cat</option>
  <option value="android">Android</option>
 </select>
 <input type="button" name="btn" id="btn" value="Get XML from server">
  </body>

 

2、服务器后端的servlet:

 

 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  //接受前台传过来的参数name
  String name = request.getParameter("name");
  
  Person person = new Person();
  
  if("tomcat".equals(name)){
   person.setName("tomcat");
   person.setAge(23);
   person.setAddress("北京");
   person.setEmail("
tomcat@126.com");
  }else if("android".equals(name)){
   person = new Person();
   person.setName("android");
   person.setAge(12);
   person.setAddress("上海");
   person.setEmail("
android@163.com");
  }
  
  Document document = DocumentHelper.createDocument();
  
  Element rootElement = document.addElement("users");
  
  Element userElement = rootElement.addElement("user");
  
  Element nameElement = userElement.addElement("name");
  Element ageElement = userElement.addElement("age");
  Element addressElement = userElement.addElement("address");
  Element emailElement = userElement.addElement("email");
  
  nameElement.setText(person.getName());
  ageElement.setText("" + person.getAge());
  addressElement.setText(person.getAddress());
  emailElement.setText(person.getEmail());
  
  //服务器应该返回的是xml文档
  response.setContentType("text/xml; charset=utf-8");
  //清理缓存
  response.setHeader("pragma", "no-cache");
  response.setHeader("cache-control", "no-cache");
  //输出到客户端用PrintWriter
  PrintWriter out = response.getWriter();
  //格式化xml文档
  OutputFormat format = OutputFormat.createPrettyPrint();
  format.setEncoding("utf-8");
  //用XmlWriter写到客户端
  XMLWriter writer = new XMLWriter(out,format);
  writer.write(document);
  //关闭输出流
  out.flush();
 }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值