dom4j操作xml笔记

首先是读取xml文件。
SAXReader reader=new SAXReader();
Document doc=reader.read(new File(filepath));

这里的filepath为xml文件的路径。
获取了Document对象之后, 便可以对xml文件进行进一步的读取操作.


然后是写入文件

package com.lj.test;

import java.io.FileWriter;
import java.io.IOException;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

public class Test06
{
public static void main(String[] args) throws IOException
{
Document doc=DocumentHelper.createDocument();


Element root=doc.addElement("users");
Element user=root.addElement("user");
user.addElement("id").addText("1");
user.addElement("name").addText("z");


user=root.addElement("user");
user.addElement("id").addText("2");
user.addElement("name").addText("w");




XMLWriter out=new XMLWriter(new FileWriter("src/main/resources/User.xml"),OutputFormat.createPrettyPrint());

out.write(doc);




out.flush();
out.close();
}
}



========================================
将list对象进行封装写入xml

package com.lj.test;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

import com.lj.model.Person;

public class Test08
{
public static void main(String[] args) throws IOException
{

Document doc=DocumentHelper.createDocument();
System.out.println(doc);


Person p1=new Person("li","233",25);
Person p2=new Person("wu","123",27);

List<Person> al=new ArrayList<Person>();
al.add(p1);
al.add(p2);


doc=writeList2XML(doc, al);

XMLWriter writer=new XMLWriter(new FileWriter(new File("src/main/resources/Person.xml")),OutputFormat.createPrettyPrint());



writer.write(doc);

writer.flush();
writer.close();
}

private static Document writeList2XML(Document doc, List<Person> persons)
{
// Document doc=DocumentHelper.createDocument();
Element root = doc.addElement("persons");
System.out.println(root);

for (Person p : persons)
{

Element ep = root.addElement("person");
ep.addAttribute("age", p.getAge() + "");
ep.addElement("name").setText(p.getName());
ep.addElement("password").setText(p.getPassword());

}





return doc;


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值