开发过程中,操作xml文件是很常见的,虽然Java API中提供了很多操作XML文件的的帮助类,我比较喜欢的是用Dom4j操作,在此分享下。
首先我们得下载dom4j.jar包,如需要下载,可到文章下面的附件中下载
首先介绍下如何创建一个xml文件,贴上我的代码,上面都有详细的注释
package test.xml.dom4j;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class Test1 {
public static void main(String[] args) throws IOException {
//创建docment对象
//Document doc=DocumentHelper.createDocument();
//创建document根元素
//Element root=DocumentHelper.createElement("student");
//将根元素添加到根节点上去
//doc.setRootElement(root);
//第二种方式
Element root1=DocumentHelper.createElement("persons");
Document doc1=DocumentHelper.createDocument(root1);
Element student1=null;
for(int i=0;i<10;i++){
student1=root1.addElement("person");
student1.addAttribute("id","s00"+i);
//addElement返回原操作的元素
student1.addElement("name").setText("张三"+i);
}
//输出文档到控制台
XMLWriter xmlwriter=new XMLWriter();
xmlwriter.write(doc1);
//输出文档到指定路径(默认的格式)
OutputStream os=new FileOutputStream("Doc/person.xml");
XMLWriter xw=new XMLWriter(os);
xw.write(doc1);
//输出文档(自定义格式)
OutputStream os1=new FileOutputStream("Doc/person.xml");
//换行显示,并且缩进两个空格
OutputFormat format1=new OutputFormat(" ",true);
XMLWriter xw1=new XMLWriter(os1,format1);
xw1.write(doc1);
xw1.close();
}
}
读取xml文件
package test.xml.dom4j;
import java.io.FileInputStream;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Test2 {
public static void main(String[] args) throws Exception {
//构建saxreader对象
SAXReader sr=new SAXReader();
//获得项目路径下的student.xml
String path=System.getProperty("user.dir")+"/Doc/student.xml";
System.out.println("path----"+path);
Document doc=sr.read(new FileInputStream(path));
//获得xml文件的根节点
Element root=doc.getRootElement();
//获得根节点的名字
System.out.println(root.getName());
//获得student元素的集合
List<Element> list=root.elements("student");
System.out.println(list.size());
//遍历student节点的集合
Iterator<Element> it=list.iterator();
while(it.hasNext())
{
//获得每一个student的节点
Element e=(Element)it.next();
//获得student的id属性
System.out.println(e.attributeValue("id"));
//获得每个student元素的name子节点
e=e.element("name");
//取得name节点的值
System.out.println(e.getData());
}
}
}
也就这么多,有什么不明白的可以提出来,呵呵。
分享到:
相关推荐
通过Dom4j创建和读取xml文件下载
利用dom4j--读取xml文件。 代码简洁易懂。
NULL 博文链接:https://yulon.iteye.com/blog/547635
基于dom4j的读写xml文件的工具包。封装了dom4j操作xml文档的常和方法。 支持两种读写方法。1:针对小文件的读取整个文档,2:针对大文件的,逐行读取。读到几百M文件毫无压力。
使用dom4j 和本地dom 解析xml 文件
dom4j解析xml文件代码示例 dom4j解析xml文件代码示例 dom4j解析xml文件代码示例
NULL 博文链接:https://sxpujs.iteye.com/blog/375485
详细介绍了使用Dom4j进行xml文件的读取方法
Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc
dom4j是非常优秀的xml解析包,操作起来读写xml非常方便。把自己写的一个读写dom4j.xml实例共享给大家
简单的读取xml,利用dom4j读写xml实例xmldemo
Dom4j解析xml与配置文件的小例子,简单的Dom4j的小应用。
dom4j 读取xml文件所用到的jar包 其中包括 dom4j-1.6.1.jar 和 jaxen-1.1-beta-6.jar
dom4j读写xmldom4j读写xmldom4j读写xmldom4j读写xmldom4j读写xml
dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的...
此方法解析xml时,不受xml层级的限制。文件中包含了说明文档,java类,以及所使用到的*.jar。并对代码做了注释让你一目了然……
dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的...
使用DOM4J进行的一系列对XML文件的操作,包括读写,创建,同时注释出相关的常用的解析器,Document创建器
Dom4j 读写 XML
dom4j以String的方式读取XML的内容,并给String的值赋值,写入XML中