六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 161|回复: 0

Java 服务端动态生成XML文件

[复制链接]

升级  11.33%

15

主题

15

主题

15

主题

秀才

Rank: 2

积分
67
 楼主| 发表于 2013-2-7 20:26:41 | 显示全部楼层 |阅读模式
 
[table=98%][tr][td]<div class="cnt">本来想用ajax+html这两个实现,但是很多前辈都说不可以,其实也是事实,所以就选择了Java。
功能:将用户提交的数据随机存储到xml文件(server端)。
废话不多讲了,看代码:
首先是html源码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Welcome to VP!</title>
</head>
<body>
<form name="User" method="post" action="createXml.do" accept-charset="utf-8">
            姓名:<input type="text" name="name" />
            <br/>
            <br/>
            手机:<input type="text" name="tel" />
            <br/>
            <br/>
            <input type="submit" value="Join" />
        </form>
</html>

再次是servlet源码(CreateXml.java):
public class CreateXml extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   // TODO Auto-generated method stub
   doPost(request,response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   // TODO Auto-generated method stub
   String name=request.getParameter("name");
   byte[] Bname=name.getBytes("ISO-8859-1");
   name=new String(Bname);
  
   String tel=request.getParameter("tel");
  
  
  JavaToXml XML=new JavaToXml();
   try {
    XML.BuildXMLDoc(name, tel);
   } catch (JDOMException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   response.sendRedirect("index.jsp");
}
}
最后是JavaToXml .java源码(你需要一个jar包:jdom.jar


public class JavaToXml {
public void BuildXMLDoc(String name, String tel) throws IOException,
    JDOMException {
   // 创建根节点 list;
   Element root = new Element("List");
   // 根节点添加到文档中;
   Document Doc = new Document(root);
   // 创建节点 user;
   Element elements = new Element("User");
   // get the current time
   SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
   Date curDate = new Date(System.currentTimeMillis());// 获取当前时间
   String xmlName = formatter.format(curDate);
   // 给 user 节点添加属性 id;
   elements.setAttribute("id", xmlName);
   // 给 user 节点添加子节点并赋值;
   // new Element("name")中的 "name" 替换成表中相应字段,setText("xuehui")中 "xuehui
   // 替换成表中记录值;
   elements.addContent(new Element("Name").setText(name));
   elements.addContent(new Element("Tel").setText(tel));
   //System.out.println(name + "---" + tel);
   // 给父节点list添加user子节点;
   root.addContent(elements);
   XMLOutputter XMLOut = new XMLOutputter();
   // 输出 user.xml 文件;
   XMLOut.output(Doc, new FileOutputStream("D:/"+xmlName + ".xml"));
}
}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表