;
System.out.println(eCoun.attributeValue(\)+\+eCoun.attributeValue(\))
//下面我们获得单个中国 这个国家下属的省份和所对应的城市
if(eCoun.attributeValue(\).equals(\中国\))//如果是中国时 {
count=new Country();//创建实例对像 并分别赋值 count.setName(eCoun.attributeValue(\)); count.setClassName(eCoun.attributeValue(\)); List
//根据省份获得LIST集合
List liProv=eCoun.elements(\); for(Object oj : liProv) {
Element et=(Element)oj;
Province province=new Province(); //创建省份的实体对象 province.setByName(et.attributeValue(\)); }
province.setName(et.attributeValue(\)); //同理,也要和上面一样,再次得到
//province.setLCity(city); 这里我们就不重复操作了 //将其加入liProv LIST中 liProv.add(province);
count.setLProv(liProv); //将省份List集合放入国家类中 }
//最后我们只需要 在国家类中进行输出内容即可:下面输出的是中国这个国家的信息 Country countr=count;
System.out.println(\国家名称:\+count.getName()+\+\所属区域:\+count.getClassName());
}
}
}
// TODO Auto-generated catch block e.printStackTrace();
List
System.out.println(count.getName()+\的省份如下:\); for(Province pe : listP) { }
System.out.println(pe.getName()+\+pe.getByName());
} catch (DocumentException e) {
}如您对以上问题有不清楚或有更好的意见,希望你能给予多多帮助。
个人博客:http://hi.http://m.njliaohua.com//chinaguoweixin
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;
百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库详解 Dom4j进行读取JAVA XML文件在线全文阅读。
相关推荐: