dom4j解析xml和写入xml文件

来源:互联网 发布:windows snmp dhcp 编辑:程序博客网 时间:2024/06/05 20:45

dom4j是一个很好对XML文件进行读取和写入等的成熟技术,是java的xml api技术。也是在搭建框架中,成熟应用在xml解析,以及反射机制中常用。

那么他是如何读取的呢。

首先,dom4j解析xml如下解读:

public static void readXml(String path) {   

//根据xml路径,创建文件
        File inputXml=new File(path);     

//要用一个读取器SAXReader来读取
        SAXReader saxReader = new SAXReader();     
        try {     

    //接着创建文档对象
            Document document = saxReader.read(inputXml);    

   // 获取根节点 
            Element employees=document.getRootElement(); 

   //然后循环根节点下的节点,这里只是针对父节点下子节点,下面还有子节点的2层循环,如何还有更多的子节点,则要根据实际情况,再次获取节点    
            for(Iterator i = employees.elementIterator(); i.hasNext();){     
                Element employee = (Element) i.next();     
                for(Iterator j = employee.elementIterator(); j.hasNext();){     
                    Element node=(Element) j.next();     
                    System.out.println(node.getName()+":"+node.getText());     
                }     
            }     
        } catch (DocumentException e) {     
            System.out.println(e.getMessage());     
        }     
    }    


dom4j写入xml:

public static void writer(String writerPath){

//首先创建文档根节点
Document document = DocumentHelper.createDocument();

//然后根据根节点country,为他添加子节点province
Element root = document.addElement("country");
Element e1 = root.addElement("province", "福建");

//再为e1添加子节点city
Element e2 = e1.addElement("city", "厦门");

try {
Writer writer = new FileWriter(writerPath);

//创建输出格式 ,如何没有创建输出格式,那么生成的xml文件就不会格式化,换行之类的
       OutputFormat format = OutputFormat.createPrettyPrint();        
       //制定输出xml的编码类型   
       format.setEncoding("utf-8");   
          
       XMLWriter writer2 = new XMLWriter(writer, format);
       writer2.write(document);
       writer2.close();
       writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

0 0
原创粉丝点击