独孤尘梦 2011-03-23 16:40
浏览 139
已采纳

一道关于xml的题

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
  • 写回答

2条回答

  • dyccsxg 2011-03-24 10:55
    关注

    [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]
    

    [url]http://62s2mg.blu.livefilestore.com/y1payAywMkQKRgT0QQSV9zRYhE0QK-ts8BW6qbE44_Vwb5JyvHrlCYIUrOXRlCMlwQE5y-lpvMgHvUciOWWx3EKiTxBDLAYH5lM/xmlweb.zip[/url]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘