`
quzhan87com
  • 浏览: 54933 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

解析xml的方法

阅读更多
1、简单的xml文件
<?xml version="1.0" encoding="utf-8"?>

<reports>  
    <report id="RPT004" name="report1">
        <property name="levelA" row="2" col="2" type="string"/>
        <property name="levelB" row="2" col="5" type="string"/>
        <property name="code" row="2" col="22" type="string"/>
        <property name="dep" row="4" col="5" type="string"/>
        <property name="groupName" row="4" col="23" type="string"/>
    </report>
</reports>

2、解析的java代码
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class DocumentXml {

	/**
	 * @param args
	 */
	@SuppressWarnings("unchecked")
	public static void main(String[] args) {
		// TODO Auto-generated method stub
      try {
		InputStream in = new FileInputStream("D:\\report\\reports.xml");
		SAXReader reader = new SAXReader();
		reader.setEncoding("utf-8");//将xml编码
		Document doc = reader.read(in);
		List<Element> reportList = doc.selectNodes("//reports/report");
		for (Element report : reportList) {
			System.out.print(report.attributeValue("id")+"  ");
			System.out.println(report.attributeValue("name"));
			List<Element> elemList = report.elements();
			for (Element element : elemList) {
				System.out.print(element.attributeValue("name")+"    ");
				System.out.print(element.attributeValue("row")+"    ");
				System.out.println();
			}
			
		}
	} catch (FileNotFoundException e) {
		System.out.println("文件不存在");
		e.printStackTrace();
	} catch (DocumentException e) {
		System.out.println("文档异常");
		e.printStackTrace();
	}
	}

}


3、在试的过程中发现不但要引进dom4j-1.6.1.jar还要引进jaxen-1.1-beta-7.jar(很重要的,不然会报java.lang.NoClassDefFoundError: org/jaxen/JaxenException错误)
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics