使用DOM4J解析xml文件开发步骤及例子
来源:互联网 发布:新浪微博域名 编辑:程序博客网 时间:2024/05/04 13:55
编写xmlReader.java
package com.xml.dom4j;
import java.io.File;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class XMLReader {
public void read(String fileName) throws DocumentException{
File xmlFile = new File(fileName);
read(xmlFile);
}
@SuppressWarnings("unchecked")
public void read(File xmlFile) throws DocumentException{
//使用SAX方式解析xml
SAXReader saxReader = new SAXReader();
//把xml文件转换成文档对象
Document document = saxReader.read(xmlFile);
//取得根节点
Element rootNode = document.getRootElement();
//取得根节点的名字
System.out.println("根节点名称: "+rootNode.getName());
//取得所有的二级(下一级)子节点
List secondList = rootNode.elements();
readsecondLevelElement(secondList);
}
@SuppressWarnings("unchecked")
public void readsecondLevelElement( List secondList){
for(Element secondElement : secondList){
System.out.println(" \t二级节点名称:"+secondElement.getName());
//取得所有的二级子节点的属性
System.out.println(" \t 属性title:"+secondElement.attributeva lue("title")+" 属性publisher:"+secondElement.attributeva lue("publisher"));
//取得所有的三级(下一级)子节点
List thirdList = secondElement.elements();
readThirdLevelElement(thirdList);
}
}
@SuppressWarnings("unchecked")
public void readThirdLevelElement( List thirdList){
for(Element thirdElement : thirdList){
System.out.println(" \t\t三级节点名称:"+thirdElement.getName());
//取得所有的三级子节点的属性
System.out.println(" \t\t 属性level:"+thirdElement.attributeva lue("level")+" 属性date:"+thirdElement.attributeva lue("date"));
//取得所有的四级(下一级)子节点
List fourList = thirdElement.elements();
readFourLevelElement(fourList);
}
}
//读取四级元素的方法
public void readFourLevelElement( List fourList){
for(Element fourElement : fourList){
System.out.println(" \t\t\t四级节点名称:"+fourElement.getName());
if(fourElement.getName().equals("title")){
System.out.println(" \t\t\t 四级节点内容:"+fourElement.getText());
}else if(fourElement.getName().equals("author")){
//fourElement.element("firstname") 通过名字取得firstname节点
System.out.println(" \t\t\t\t五级级节点内容:"+fourElement.element("firstname").getName());
System.out.println(" \t\t\t\t 五级节点内容:"+fourElement.element("firstname").getText());
System.out.println(" \t\t\t\t五级级节点内容:"+fourElement.element("lastname").getName());
System.out.println(" \t\t\t\t 五级节点内容:"+fourElement.element("lastname").getText());
}
}
}
}
编写测试类
@Test
public void testRead() {
try {
String file = "F:/students/dom4j_XML/src/catalog.xml";
XMLReader reader = new XMLReader();
reader.read(file);
} catch (DocumentException e) {
}
}
项目结构:
要点说明:
使用dom4j方式解析xml:
1.指定要解析的文件
File xmlFile = new File(fileName);
2.选择xml解析方式
//使用SAX方式解析xml
SAXReader saxReader = new SAXReader();
3.解析xml文件
//把xml文件转换成文档对象
Document document = saxReader.read(xmlFile);
4.解析文档对象dom对象
//取得根节点
Element rootNode = document.getRootElement();
//取得所有的下一级节点
List secondList = rootNode.elements();
//根据名字取的子节点
fourElement.element("firstname")
//根据名字取的子节点,和节点内容
fourElement.element("firstname").getText()
//根据名字取的节点属性值
thirdElement.attributeva lue("level")
- 使用DOM4J解析xml文件开发步骤及例子
- 使用DOM4J解析xml文件开发步骤及例子
- 使用dom4j解析XML例子
- 使用dom4j解析XML例子
- 使用dom4j解析XML例子
- 使用dom4j解析XML例子
- 使用dom4j解析XML例子
- 使用dom4j解析XML例子
- 使用dom4j解析XML例子
- 使用dom4j解析XML例子
- 使用dom4j解析XML例子
- dom4j解析xml文件 简单例子
- 使用dom4j解析XML文件
- 使用DOM4J解析 XML文件
- 使用Dom4J解析XML文件
- 使用dom4j解析xml文件
- 使用DOM4J解析XML文件
- 使用Dom4j解析xml文件
- hdu 1315 Don't Get Rooked--深搜
- SQL数据缓存依赖 [SqlServer | Cache | SqlCacheDependency ]
- C/C++ 写控制台程序时修改前景色和背景色
- 开放平台整理
- LCD 基本知识
- 使用DOM4J解析xml文件开发步骤及例子
- 如何复用eclipse Working Sets
- oracle 复合变量 记录
- c# 使用DES加密和解密字符串
- windows7安装oracle 10g安装过程及注意事项。
- 给力!高效!易懂!位运算求组合
- Eclipse添加对sun专有包的权限
- Android中几种图像特效处理的集锦
- 游客不满旅游团更改路线要求退钱遭推搡骨折