zoukankan      html  css  js  c++  java
  • java dom4j写入XML

    引用的两个jar包

    dom4j-1.6.1.jar

    jaxen.jar

    //=========================代码
    
    import java.io.FileWriter;
    import java.util.List;
    
    import org.dom4j.*;
    import org.dom4j.io.*;
    
    public class TestDom4 {
    public static void main(String[] args) {
    
    Test();
    }
    
    public static void Test() {
    String fileName = System.getProperty("user.dir")+ "\LoaneeProduct.xml"; // 当前路径下的demo.xml
    
    try {
    SAXReader reader = new SAXReader();
    Document doc = reader.read(fileName); // 加载xml文件
    
    List peoples = null;
    
    Element products = null;
    try {
    products = (Element) doc.selectSingleNode("./products"); // 选择所有具有name属性的节点(即demo.xml中的所有card节点)
    } catch (Exception ex) {
    System.out.println("异常信息:" + ex);
    }
    
    products.addElement("product").addAttribute("type", "cp");
    // .addText("第六个产品");
    
    Element a = (Element) products
    .selectSingleNode("(//product)[last()]");
    a.addElement("id").addAttribute("type", "3").addText("222");
    a.addElement("name").addAttribute("type", "3").addText("第六个产品");
    // Node node = doc.selectSingleNode("(//question)[last()]/@id");
    /*
    * products.addElement("email").addAttribute("type",
    * "私人").addCDATA("private@some-domain.com"); //设置CDATA内容
    */
    
    // 将上述改动保存到文件demo2.xml
    FileWriter fileWriter = new FileWriter(
    System.getProperty("user.dir") + "\LoaneeProduct.xml");
    
    OutputFormat format = OutputFormat.createPrettyPrint(); // 设置美观的缩进格式,便于阅读
    format.setEncoding("gb2312"); // 设置文本格式
    // format = OutputFormat.createCompactFormat();//设置紧凑格式(消除多余空格),便于下载
    XMLWriter writer = new XMLWriter(System.out, format);
    writer.setWriter(fileWriter);
    writer.write(doc);
    writer.close();
    
    } catch (Exception e) {
    e.printStackTrace();
    }
    
    }
    }
    
     

    //===========================XML  结构

    <?xml version="1.0" encoding="gb2312"?>
    
    <products> 
    <product> 
    <id>78</id> 
    <name>悟能月付3.0</name> 
    </product> 
    <product> 
    <id>220</id> 
    <name>东方步云</name> 
    </product> 
    <product> 
    <id>35</id> 
    <name>畜牧贷</name> 
    </product> 
    <product> 
    <id>176</id> 
    <name>瑞恩传媒</name> 
    </product> 
    <product> 
    <id>199</id> 
    <name>借东风-凯琦</name> 
    </product> 
    <product type="cp"> 
    <id type="3">222</id> 
    <name type="3">第六个产品</name> 
    </product> 
    <product type="cp">
    <id type="3">222</id>
    <name type="3">第六个产品</name>
    </product>
    </products>
  • 相关阅读:
    太鼓达人
    DB2中循环日期跑数据
    DB2分区表删除和添加分区
    DB2日常运维之总结(转)
    oracle SQL not in null,单列,复合列
    利用rlwrap配置linux下oracle sqlplus 历史记录回调
    Oracle非默认监听的处理会遇到的问题以及处理方法
    Sqlserver循环嵌套
    rman全备份异机恢复
    Windows系统下Oracle数据库冷备
  • 原文地址:https://www.cnblogs.com/yangjinwang/p/5807185.html
Copyright © 2011-2022 走看看