dom4j读写xml文件

package com.hailou.test;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import org.junit.Test;

public class TestXML {

@Test
public void WriteXML() throws IOException{
//创建dom对象
Document dom = DocumentHelper.createDocument();
Element root = dom.addElement("root");
//添加第一类节点
for(int i = 0 ; i<3;i++){
Element perents  = root.addElement("user").addAttribute("id", String.valueOf(i));
perents.addElement("name").addText("张三");
perents.addElement("age").addText("30");

}
//添加第二类节点
//以下代码是知道某结点,向此结点插入数据
        Element node =root.element("user");// 取得某节点的单个子节点.
        Element newNode =  node.addElement("流量");
        newNode.setText("100");
        //end

        //格式化输出的xml文件格式。
        OutputFormat format = OutputFormat.createPrettyPrint();
        /** 指定XML编码 */
        format.setEncoding("GBK");
        XMLWriter writer= new XMLWriter(new FileOutputStream("person.xml"),format);
        //没有格式化文件输出内容
//XMLWriter writer = new XMLWriter(new FileOutputStream());
writer.write(dom);
writer.close();
}

@Test
public void ReadXML() throws Exception{

SAXReader reader = new SAXReader();
Document document =  reader.read(new FileInputStream("person.xml"));
Element root = document.getRootElement();
List users = root.elements("user");

for(Object object : users){
Element userElement = (Element)object;
String userId = userElement.attribute("id").getText();
String userName = userElement.element("name").getText();

String userAge = userElement.element("age").getText();
System.out.println("userID:"+userId+":"+userName+":"+userAge);
}

}

}

你可能感兴趣的:(java,xml)