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);
}

}

}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值