Dom4j进行读取JAVA XML文件
首先导入Dom4j jar包 并创建XML文件,如图:
创建好XML文件后,我们根据其逻辑关系,建立如下类: Country(实体国家类:
创建Province(省份)实体类
创建City(城市)实体类
好,我们需要的guo.xml, 和三个对应的实体类以建好,下面我们创建个法,具体内容和注释如下:
package test;
import java.io.InputStream; import java.util.ArrayList; import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader;
import entity.Country; import entity.Province;
public class TestMain {
main()方
/**
* @param args */
public static void main(String[] args) {
// TODO Auto-generated method stub //创建SAXReader的对象 SAXReader sr=new SAXReader();
//根据文件流 读取XML文件 InputStream is=TestMain.class.getResourceAsStream(\);
try {
//利用SAXReader 的对象的read方法进行读取 Document dt=sr.read(is);
//Document对象的 getRootElement()获得XML文件中的第一层节点,即binggo Element binggo=dt.getRootElement(); //我们对其进行输出 如下输出:binggo
System.out.println(\第一层节点名称:\+binggo.getName()); /**
* 如下是获得单个节点下的所有内容, * 获取其它单个节点同理 */
//获取其它名称类似, 下一步我们将要获得Country 节点中属性名称的值。 Element country=binggo.element(\); //此处输出第二层节点 如下输出: Country
System.out.println(\第二层节点名称:\+country.getName()); //获得 Country节点的名称后,我们就可以获得其内部属性值 //例如我们根据 Country 节点中的 name 属性名称获得其值:中国
System.out.println(\节点中name属性值:\+country.attributeValue(\));
//同理我们也可以得到其所属的class 即为洲
System.out.println(\节点中class属性值:\+country.attributeValue(\));
/**
* 我们知道在一个binggo节点下有多个Country节点, * 所以此刻我们需要获得多个Country */
//获取到binggo下所有的Country节点内容
List listCoun=binggo.elements(\);
//进行遍历,这样我们就获取了binggo下的所有Country节点内容
//但是这样还不完全,因为我们的目的是要遍历所有的内容,将其放到我们自定义的实体类中, Country count=null;//定义Country(国家)实体类 for(Object o : listCoun) {
Element eCoun=(Element)o;
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库详解 Dom4j进行读取JAVA XML文件在线全文阅读。
相关推荐: