XML解析的方法

本文通过具体实例介绍了两种流行的Java XML解析技术:dom4j与Jdom。这两种方法均使用SAX方式读取XML文件,并展示了如何获取文件中的学生信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

XML的常用解析方式:

  文件:NewFile.xml

<?xml version="1.0" encoding="UTF-8"?>
<students>
	<student>
		<id>1</id>
		<name>张三</name>
		<age>20</age>
	</student>

	<student>
		<id>2</id>
		<name>李四</name>
		<age>28</age>
	</student>
	<student>
		<id>3</id>
		<name>王五</name>
		<age>24</age>
	</student>
</students>



1.dom4j解析:

public class Saxreader03 {
public static void main(String[] args) {
	SAXReader sax=new SAXReader();
	InputStream is=Saxreader03.class.getClassLoader().getResourceAsStream("NewFile.xml");
	try {
		Document doc=sax.read(is);
		Element root=doc.getRootElement();
		List<Element> list=root.elements();
		for(Element ele:list){
			System.out.println(ele.getName());
			List<Element> list2=ele.elements();
			
			for(Element ele2:list2){
				System.out.println(ele2.getName()+"==="+ele2.getText());
			}
		}
	} catch (DocumentException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	finally{
		try {
			is.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
}
2.Jdom解析:
public class Jdom01 {
public static void main(String[] args) {
	SAXBuilder sax=new SAXBuilder();
	InputStream is=Jdom01.class.getClassLoader().getResourceAsStream("NewFile.xml");
    try {
    	Document doc=sax.build(is);
   Element root= doc.getRootElement();
   List<Element> list= root.getChildren();
   for(Element ele:list){
	   System.out.println(ele.getName());
	   List<Element> list2= ele.getChildren();
	   for(Element ele2:list2){
		   System.out.println(ele2.getName()+"==="+ele2.getText());
	   }
   }
	} catch (JDOMException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}finally{
		try {
			is.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值