DOM4j读取XML基本操作及常见错误



             前段时间用dom4j读取配置文件的时候,当时报了个小bug,后来中间去做别的东西了,几天又把那段代码拿出来调了下,发现ok了。


 一,基本使用


       为了使用这个东西读配置文件,首先引入:


     


       下面是测试代码:

   

public class DOM4Jtest {

	public static void main(String[] args){
		SAXReader reader=new SAXReader();
		try {
			/*获取节点值*/
			Document document=reader.read("H:/lhcInfo.xml");
			Element root=document.getRootElement();//获取文档的根节点
			Attribute attribute=root.attribute("age");//取得根节点的age的属性值
			String strAge=attribute.getText();//得到属性文字
			System.out.println("my age is: "+strAge);//console输出age
			
			Element element_hobby=root.element("hobby");//取得根节点上的hobby节点
			Element element_read_books=element_hobby.element("books");//取得read_books节点
			/*读取read_books里面的所有节点的值*/
			for(Iterator it=element_read_books.elementIterator();it.hasNext();){
				Element element=(Element)it.next();
				String strVal=element.getText();//得到节点值
				System.out.println(strVal);
			}
			
			/*更改节点值*/
			
			
		} catch (DocumentException e) {
			e.printStackTrace();
		}
		
	}
}

      xml文件:

   

<?xml version="1.0" encoding="UTF-8"?>
<lhc name="lhc" age="23" sex="girl">
	<hobby>
		<books>
			<item>明朝那些事儿</item>
			<item>基督山伯爵</item>
			<item>编写可读代码的艺术</item>
			<item>就喜欢你看不惯我又干不掉我的样子</item>
		</books>
	</hobby>
</lhc>

      run一下,木有问题了。


   二,注意:bugs

           1,unknown protocol: d Nested exception: unknown protocol: d


                           查了下,出现这个问题的原因可能是:1,tomcat安装目录下面有空格;2,xml文件路径中有中文。检查了下,发现我是第二个原因


             2,java.lang.NullPointerException


                         这个在读写节点的时候还是常出现的,有时候一手抖,打错了个字母,就要回去检查看看哪个节点名称写错了。







                


    

你可能感兴趣的:(java,xml,dom)