您的位置:首页 > 其它

dom4j解析xml和写入xml文件

2015-01-04 20:47 423 查看
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();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: