1.创建项目web
2.webroot创建一个文件夹xml
3.创建一个servlet:createAction:负责创建一个xml/1012.xml(50%)
<students>
<student sid="1">
<sname>XXX</sname>
<sex>男</sex>
<age>22</age>
</student>
</students>
4.创建一个servlet:showAction:读取xml/1012.xml,返回到一个show.jsp的页面(50%)
将xml的内容,以table的方式显示
编号 姓名 性别 年龄
5.servlet的调用 通过index.jsp
创建两个超链接
创建xml 读取xml
[code="java"] /**
* 创建 xml
* @throws IOException
*/
public void createAction() throws IOException{
Document doc = DocumentHelper.createDocument();
Element root = doc.addElement("students");
Element student = root.addElement("student");
student.addAttribute("sid", "1");
student.addElement("sname").addText("XXX");
student.addElement("sex").addText("男");
student.addElement("age").addText("22");
String filePath = getServletContext().getRealPath("xml/1012.xml");
PrintWriter pw = new PrintWriter(filePath);
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("utf-8");
format.setIndentSize(4);
XMLWriter writer = new XMLWriter(pw, format);
writer.write(doc);
writer.flush();
writer.close();
}
/**
* 读取 xml
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<Map<String,String>> showAction() throws Exception{
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
String filePath = getServletContext().getRealPath("xml/1012.xml");
SAXReader reader = new SAXReader();
File file = new File(filePath);
if (!file.exists()){
return list;
}
Document doc = reader.read(file);
Element root = doc.getRootElement();
List<Element> list_stu = root.selectNodes("student");
for (Element stu : list_stu){
Map<String,String> row = new HashMap<String,String>();
row.put("sid", stu.attributeValue("sid"));
row.put("sname", stu.elementText("sname"));
row.put("sex", stu.elementText("sex"));
row.put("age", stu.elementText("age"));
list.add(row);
}
return list;
}[/code]
DOM4J 是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的 Java 软件都在使用 DOM4J 来读写 XML,特别值得一提的是连 Sun 的 JAXM 也在用 DOM4J