dom4j的使用心得

本文介绍如何使用Java进行XML文档的基本操作,包括创建Document对象、配置文档类型、操作节点及写入磁盘等步骤。通过具体示例展示了利用SAXReader、DocumentHelper等工具类来读取、创建和解析XML文档的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、创建document对象

1.读取XML文件,获得document对象              
  SAXReader reader = new SAXReader();                
  Document   document = reader.read(new File("csdn.xml"));  
2.解析XML形式的文本,得到document对象.  
  String text = "<csdn></csdn>";              
  Document document = DocumentHelper.parseText(text);  
3.主动创建document对象.  
  Document document = DocumentHelper.createDocument();             //创建根节点  
  Element root = document.addElement("csdn");  

二、配置document的doctype

// 添加doctype
DefaultDocumentType docType = new DefaultDocumentType();
docType.setName("mapper");
docType.setPublicID("-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-         mapper.dtd");
document.setDocType(docType);

三、document对象操作节点

// 创建文档并写入磁盘中
        Document document = getMyBatisDocument();

        // 创建mapper节点
        Element mapper = document.addElement("mapper");
        mapper.addAttribute("namespace", Config.getProperty("dao") + "." + myTable.getBeanName() + "Dao");

        // 创建resultMap节点
        Element resultMap = mapper.addElement("resultMap");
        resultMap.addAttribute("id", myTable.getBeanName() + "Map");
        resultMap.addAttribute("type", Config.getProperty("beans") + "." + myTable.getBeanName());

        // 创建insert节点
        Element insert = mapper.addElement("insert");
        insert.addAttribute("id", "insert");
        insert.addAttribute("parameterType", Config.getProperty("beans")+"."+myTable.getBeanName());

        Element selectKey = insert.addElement("selectKey");
        selectKey.addAttribute("resultType", "long");
        selectKey.addAttribute("keyProperty", myTable.getPkProperty());
        selectKey.addAttribute("order", "BEFORE");
        selectKey.addText("SELECT NEXTVAL('"+myTable.getSerializeName()+"')");

四、写入document到磁盘文件中

OutputFormat format = OutputFormat.createPrettyPrint(); // 创建文件输出的时候,自动缩进的格
        format.setEncoding("UTF-8");// 设置编码
        format.setIndent(true);
        format.setNewlines(true);
        format.setTrimText(false);
        try {
            // 将文档对象写入新建的xml文件中
            XMLWriter writer;
            writer = new XMLWriter(new FileWriter(fileName), format);
            writer.write(document);
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值