[转]java解析xml之一 Dom4j
2009-11-25 22:41
405 查看
java解析xml之一 Dom4j
【实现:】
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
/**
*
* @author xiaohua
* Dom4j 生成XML文档与解析XML文档
*/
public class Dom4jDemo implements XmlDocument
{
public void init()throws Exception
{
}
/*
(non-Javadoc)
* @paranm fileName 文件名称
*/
public void createXml(String fileName) throws Exception
{
//1.产生Document对象
Document doc=DocumentHelper.createDocument();
//2.产生根元素
Element employees=doc.addElement("employees");
//3.产生子元素
Element employee=employees.addElement("employee");
//4.利用子元素添加属性和值
Element name=employee.addElement("name");
name.setText("xiaohua");
Element sex=employee.addElement("sex");
sex.setText("w");
Element age=employee.addElement("age");
age.setText("22");
try
{
//5.利用Writer对象,产生XMLWriter对象
Writer w=new FileWriter(fileName);
XMLWriter xml=new XMLWriter(w);
//6.将Document对象写入xml对象中
xml.write(doc);
7.关闭XMLWriter对象
xml.close();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void parserXml(String fileName)throws Exception
{
//1.分别产生File和SAXReader
File inputXml=new File(fileName);
SAXReader saxReader = new SAXReader();//SAXReader 解析xml的
try {
//2. 利用SAXReader对象读取文件的信息,并返回Document对象
Document doc=saxReader.read(inputXml);
//3.利用Document对象对象产生根元素
Element employees=doc.getRootElement();
//4.遍历根元素的内容
for(Iterator i=employees.elementIterator();i.hasNext();)
{
//5.根元素的集合对象来获取子元素
Element employee=(Element)i.next();
//6.遍历子元素内容
for(Iterator j=employee.elementIterator();j.hasNext();)
{
//7.获取子元素节点信息
Element node=(Element)j.next();
System.out.println("节点名称:"+node.getName()+"值:"+"------>"+node.getText());
}
}
} catch (DocumentException e) {
System.out.println(e.getMessage());
}
System.out.println("dom4j parserXml");
}
public static void main(String[] ar)throws Exception
{
Dom4jDemo d=new Dom4jDemo();
//d.createXml("e://employees.xml");
d.parserXml("e://employees.xml");
}
public void pareser(String fileName) throws Exception
{
// TODO Auto-generated method stub
}
}
显示效果:
Employees。Xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<employees>
<employee>
<name>ddviplinux</name>
<sex>m</sex>
<age>30</age>
</employee>
<employee>
<name>ddd</name>
<sex>m</sex>
<age>22</age>
</employee>
</employees>
【小结】:
1. DOM4J 是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的 Java 软件都在使用 DOM4J 来读写 XML,特别值得一提的是连 Sun 的 JAXM 也在用 DOM4J。
2. SAXReader 解析xml的常用类。
解析步骤:
//1.分别产生File和SAXReader
//2. 利用SAXReader对象读取文件的信息,并返回Document对象
//3.利用Document对象对象产生根元素
//4.遍历根元素的内容
//5.根元素的集合对象来获取子元素
//6.遍历子元素内容
//7.获取子元素节点信息
3.写入xml文件的类:XMLWriter。写入语句Writer w=new FileWriter(fileName);
XMLWriter xml=new XMLWriter(w);
xml.write(doc);
步骤:
a. //1.产生Document对象
b.//2.产生根元素
c. //3.产生子元素
d.//4.利用子元素添加属性和值
e. //5.利用Writer对象,产生XMLWriter对象
f. //6.将Document对象写入xml对象中
g.7.关闭XMLWriter对象
【实现:】
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
/**
*
* @author xiaohua
* Dom4j 生成XML文档与解析XML文档
*/
public class Dom4jDemo implements XmlDocument
{
public void init()throws Exception
{
}
/*
(non-Javadoc)
* @paranm fileName 文件名称
*/
public void createXml(String fileName) throws Exception
{
//1.产生Document对象
Document doc=DocumentHelper.createDocument();
//2.产生根元素
Element employees=doc.addElement("employees");
//3.产生子元素
Element employee=employees.addElement("employee");
//4.利用子元素添加属性和值
Element name=employee.addElement("name");
name.setText("xiaohua");
Element sex=employee.addElement("sex");
sex.setText("w");
Element age=employee.addElement("age");
age.setText("22");
try
{
//5.利用Writer对象,产生XMLWriter对象
Writer w=new FileWriter(fileName);
XMLWriter xml=new XMLWriter(w);
//6.将Document对象写入xml对象中
xml.write(doc);
7.关闭XMLWriter对象
xml.close();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void parserXml(String fileName)throws Exception
{
//1.分别产生File和SAXReader
File inputXml=new File(fileName);
SAXReader saxReader = new SAXReader();//SAXReader 解析xml的
try {
//2. 利用SAXReader对象读取文件的信息,并返回Document对象
Document doc=saxReader.read(inputXml);
//3.利用Document对象对象产生根元素
Element employees=doc.getRootElement();
//4.遍历根元素的内容
for(Iterator i=employees.elementIterator();i.hasNext();)
{
//5.根元素的集合对象来获取子元素
Element employee=(Element)i.next();
//6.遍历子元素内容
for(Iterator j=employee.elementIterator();j.hasNext();)
{
//7.获取子元素节点信息
Element node=(Element)j.next();
System.out.println("节点名称:"+node.getName()+"值:"+"------>"+node.getText());
}
}
} catch (DocumentException e) {
System.out.println(e.getMessage());
}
System.out.println("dom4j parserXml");
}
public static void main(String[] ar)throws Exception
{
Dom4jDemo d=new Dom4jDemo();
//d.createXml("e://employees.xml");
d.parserXml("e://employees.xml");
}
public void pareser(String fileName) throws Exception
{
// TODO Auto-generated method stub
}
}
显示效果:
Employees。Xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<employees>
<employee>
<name>ddviplinux</name>
<sex>m</sex>
<age>30</age>
</employee>
<employee>
<name>ddd</name>
<sex>m</sex>
<age>22</age>
</employee>
</employees>
【小结】:
1. DOM4J 是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的 Java 软件都在使用 DOM4J 来读写 XML,特别值得一提的是连 Sun 的 JAXM 也在用 DOM4J。
2. SAXReader 解析xml的常用类。
解析步骤:
//1.分别产生File和SAXReader
//2. 利用SAXReader对象读取文件的信息,并返回Document对象
//3.利用Document对象对象产生根元素
//4.遍历根元素的内容
//5.根元素的集合对象来获取子元素
//6.遍历子元素内容
//7.获取子元素节点信息
3.写入xml文件的类:XMLWriter。写入语句Writer w=new FileWriter(fileName);
XMLWriter xml=new XMLWriter(w);
xml.write(doc);
步骤:
a. //1.产生Document对象
b.//2.产生根元素
c. //3.产生子元素
d.//4.利用子元素添加属性和值
e. //5.利用Writer对象,产生XMLWriter对象
f. //6.将Document对象写入xml对象中
g.7.关闭XMLWriter对象
相关文章推荐
- Java使用dom4j解析XML字符串
- Java学习之路——用dom4j解析xml
- java解析xml -- DOM4J JDOM DOM SAX 之比较
- java dom4j解析xml用到的几个方法
- Java解析XML之导入dom4j
- JAVA DOM4j解析XML数据到自定义javabean
- Java自定义生成与解析(Dom4J)XML文件
- 在java中使用dom4j解析xml
- java中用Dom4j解析xml
- javaweb-day02-2(00:40:06 XML 解析 - Dom4j解析开发包)
- Java xml 操作(Dom4J修改xml   + xPath技术  + SAX解析 + XML约束)
- DOM4J学习笔记 --- Java遍历解析XML
- 在java中使用dom4j解析xml
- dom4j解析xml的三种方式java代码
- Dom4j解析XML简单应用,XStream实现Java、XML转换
- [Java] XML 解析 与 Dom4j 的使用
- java-web 之 第二讲 -- dom4j 解析 XML 文件
- Java dom4j saxReader解析xml
- java三方---->dom4j解析xml数据
- 【Java】XML解析之DOM4J