Java解析XML文档

1.使用基于树的思想的Dom, JDom,Dom4J

下载JDom4J,然后在myeclipse的window->perference->java->buildpath->user libraries->添加用户库

1.1解析xml文件

public static void parseXML()//解析XML文件
{
	SAXReader parser=new SAXReader(); //获取解析对象
	try{
		Document doc=parser.read(new File(文件路径));//获取和输出根元素
		Element root = dec.getRootElement();//获取根元素对象
		String rootName=root.getName();//获取根元素对象名称
		List<Element> list=root.elements();//获取根元素下的儿子对象
		for (Element e:list)//遍历根下的儿子对象
		{
			String eName=e.getName();//获取儿子对象的名称
			List<Attribute> atts=e.attributes();//获取当前儿子对象的属性对象
			for(Attribute att:atts)//遍历儿子对象的属性
			{
				String attName=att.getName();//获取属性名称
				String attValue=att.getValue();//获取属性值
			}
			Iterator<Element> iter=e.elementIterator();//获取孙子对象
			while(iter.hasNext)//遍历孙子对象
			{
				Element child=iter.next();
				String childName=child.getName();//获取孙子对象名称
				String childText=child.getText();//获取孙子元素内容
			}
		}
	}catch(Exception e){
		e.printStackTrace();
	}
}

如果提前已知XML文件内容,可以用先验信息获取

SAXReader parser=new SAXReader(); //获取解析对象
Document doc=parser.read(new File(文件路径));//获取和输出根元素
Element root = dec.getRootElement();//获取根元素对象
Element e1=root.element(儿子对象的名称);
Attribute att= e1.attribute(属性名称);
Element e21=el.element(孙子对象名称)
也可以使用Dom4J创建XML文件

Dom4J是先将XML文件的DOM树形结构读取到内存里,然后解析。

2.Sax类库

该类库使用事件驱动

startDoucument事件:在开始解析XML文档时发生

startElement事件:在开始解析XML文档的开始元素标记时发生

characters事件:在开始解析XML文档的开始元素和结束元素标记间的内容时发生

endElement事件:在开始解析XML文档的结束元素标记时发生

endDoucument事件:在结束解析XML文档时发生







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值