SAXReader解析xml文件
要使用SAXReader解析xml文件,就需要导入两个架包:版本自己选择。
(1)dom4j-1.6.1.jar dom4j下载地址
(2)jaxen-1.1-beta-6.jar jaxen下载地址
项目的搭建如下:
项目的配置文件web.xml:
<?xml version="1.0" encoding="utf-8"?>
<mime name="hj"><mime-mapping><extension>123</extension><mime-type>application/vnd.lotus-1-2-3</mime-type></mime-mapping><mime-mapping><extension>3dml</extension><mime-type>text/vnd.in3d.3dml</mime-type></mime-mapping><mime-mapping><extension>3ds</extension><mime-type>image/x-3ds</mime-type></mime-mapping><mime-mapping><extension>mpn</extension><mime-type>application/vnd.mophun.application</mime-type></mime-mapping><mime-mapping><extension>mpp</extension><mime-type>application/vnd.ms-project</mime-type></mime-mapping>
</mime>
读取配置文件步骤如下:
1.首先实例化SAXReader对象,然后用Document对象获取配置文件的数据。
//实例化对象SAXReader read=new SAXReader();//获取配置文件的数据Document doc=read.read("src/web.xml");
2.获取根节点元素:
//获取根节点元素String rootElement=doc.getRootElement().getName();System.out.println("根节点元素:"+rootElement);
3.获取根节点里某个属性的的属性值:
//属性名String rootName=doc.getRootElement().attributeValue("name");System.out.println("根节点mime里name属性的属性值:"+rootName);
4.下面是几种方法获取某个节点的值:
注意 //代表从配置文件的任何位置去查找
/代表从这个节点下的子节点中查找
/**第一种方法* 获取mime-type节点的值* //两个代表在文档的任何位置查找这个节点 **/List<Element> element=doc.selectNodes("//mime-type");for(Element el:element){System.out.println(el.getText().trim());}//第二种方法List<Element> list=doc.selectNodes("//mime-mapping");for(Element el:list){//寻找mime-mapping下面的mime-type节点System.out.println(el.selectSingleNode("mime-type").getText().trim());//第三种方法//查找mime下面的所有mime-mapping节点List<Element> list=doc.selectNodes("/mime/mime-mapping");for(Element el:list){//在mime-mapping节点下面找到mime-type节点的值System.out.println(el.selectSingleNode("mime-type").getText());}}
//查找mime-mapping下面的所有节点List<Element> list=doc.selectNodes("/mime/mime-mapping/*");for(Element el:list){//获取mime-mapping下面所有节点的名字 所有节点的值System.out.println(el.getName()+":"+el.getTextTrim()+"\n");}
真正的运用还是需要灵活运用它的一些方法。
希望这几种方法对你有用!!!