这篇文章主要介绍了java使用dom4j生成与解析xml文档的方法,结合实例形式分析了java基于dom4j操作xml节点生成xml文档以及解析xml文档的相关操作技巧,需要的朋友可以参考下
本文实例讲述了java使用dom4j生成与解析xml文档的方法。分享给大家供大家参考,具体如下:
xml是一种新的数据格式,主要用于数据交换。我们所用的框架都有涉及到xml。因此解析或生成xml对程序员也是一个技术难点。这里就用dom4j来生成一个文档,需要注意的是每个xml文档只有一个根节点。
package org.lxh;
import java.io.file;
import java.io.filenotfoundexception;
import java.io.fileoutputstream;
import java.io.unsupportedencodingexception;
import org.dom4j.document;
import org.dom4j.documenthelper;
import org.dom4j.element;
import org.dom4j.io.outputformat;
import org.dom4j.io.xmlwriter;
public class createxml {
public static void main(string[] args) {
file f=new file("d:"+file.separator+"my.xml");
document docu=documenthelper.createdocument(); //创建xml文档
element linkman=docu.addelement("linkman"); //创建根节点
element name=linkman.addelement("name"); //创建子元素
element age=linkman.addelement("age");
name.settext("陈瑞银"); //设置name节点的内容
age.settext("22"); //设置age节点的内容
outputformat format=outputformat.createprettyprint(); //指定输出格式
format.setencoding("utf-8"); //指定输出编码
try {
xmlwriter w=new xmlwriter(new fileoutputstream(f),format); //输出文件
w.write(docu); //输出内容
w.close();
} catch (exception e) {
// todo auto-generated catch block
e.printstacktrace();
}
}
}
现在看一下文档生成没有,如图所示
文档生成了,这个文档比较简单。生成复杂的文档也是一样的道理。下面来解析一下这个xml。
代码如下所示
package org.lxh;
import java.io.file;
import java.util.iterator;
import org.dom4j.*;
import org.dom4j.io.saxreader;
public class readxml {
public static void main(string[] args) {
file f=new file("d:"+file.separator+"my.xml");
saxreader read=new saxreader(); //建立sax解析读取
document document=null;
try {
document=read.read(f); //读取文档
element root=document.getrootelement(); //取得根元素
//下面给注释的部分用于解析复杂的xml(3层或以上)
/*iterator it=root.elementiterator(); //取得全部子节点
while(it.hasnext())
{
/*element e=(element)it.next();
system.out.println(e.elementtext("name")); //取得文本元素
system.out.println(e.elementtext("age"));
}*/
system.out.println(root.elementtext("age"));
} catch (exception e) {
// todo auto-generated catch block
e.printstacktrace();
}
}
}
下面是运行效果截图
以上就是java如何使用dom4j生成与解析xml文档的实例分析(图)?的详细内容。