DOM解析XML文件

和上一篇一样,使用同样的数据点击打开链接

DOM将XML中的元素如下分解

要想取数据,可以参考如下方法;

具体实现代码如下:

public class DomPersonService {
	public static List<Person> getPersons(InputStream inputStream) throws Exception{
		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
		DocumentBuilder builder = factory.newDocumentBuilder();
		Document document = builder.parse(inputStream);
		//获取node列表
		NodeList personNodeList = document.getDocumentElement().
				getElementsByTagName("person");
		
		List<Person> list = new ArrayList<Person>();
		
		for (int i = 0; i < personNodeList.getLength(); i++) {
			Element personElement = (Element) personNodeList.item(i);
			int id = Integer.valueOf(((Element) personElement).getAttribute("id"));
			Person person = new Person();
			person.setId(id);//获取id
			//getAttribute可以获取属性(id),getChildNodes可以获取文本
			NodeList childNodes = ((Node) personElement).getChildNodes();
			for (int j = 0; j <  childNodes.getLength(); j++) {
				if(childNodes.item(j).getNodeType() == Node.ELEMENT_NODE){
					if("name".equals(childNodes.item(j).getNodeName())){
						String name = childNodes.item(j).getFirstChild().getNodeValue();
						person.setName(name);
					}else if("age".equals(childNodes.item(j).getNodeName())){
						String age = childNodes.item(j).getFirstChild().getNodeValue();
						person.setAge(new Short(age));
						Log.i("TAG", person.toString());
					}
				}
			}
			list.add(person);
		}
		inputStream.close();
		return list;
	}
}

最后总结果还是

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python爬虫与数据挖掘

Windows下安装Scrapy方法及常见安装问题总结——Scrapy安装教程

这几天,很多朋友在群里问Scrapy安装的问题,其实问题方面都差不多,今天小编给大家整理一下Scrapy的安装教程,希望日后其他的小伙伴在安装的时候不再...

9030
来自专栏TheOneGIS空间站

Hibernate入门遇到的一些问题

使用Configuration config = new Configuration().configure();读取Hibernate的配置文件,文件的默认名...

11130
来自专栏TheOneGIS空间站

Dom4j解析带有命名空间的XML文件

    今天我在解析KML文件的过程中,使用XPath表达式,可是返回的结果总是null,纠结了很久,后来通过查资料,发现是我的KML中有命名空间的缘故。

17630
来自专栏TheOneGIS空间站

LINQ初步

语言集查询(Language Integrated Query, LINQ)集成了C#编程语言中的查询语法,可以用同样的语法访问不同的数据源。LINQ提供了不同...

9420
来自专栏TheOneGIS空间站

Log4J使用快速入门

Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBU...

26840
来自专栏编程坑太多

「小程序JAVA实战」小程序搜索功能(55)

PS:搜索功能,后台提供url,直接赋值到插件就可以了,通过输入关键字点击搜索,将关键字保存标识传递,关键字传递给index页面,index获取后在根据关键字查...

25980
来自专栏TheOneGIS空间站

使用过滤器解决中文乱码问题

在Web.xml文件中,配置过滤器,其过滤器的URL映射可以使用正则表达式进行配置,如实例中使用“/*”来匹配所有请求。

34830
来自专栏张浩的专栏

Spark 设置 Hadoop 的配置文件

当我们在开发Spark应用程序的时候,没有设置Hadoop的配置文件的情况下来读取或者写入HDFS文件,每次都要写上hdfs://host:port/pa...

50910
来自专栏Web项目聚集地

Java SSM框架基础面试题

作用:Ioc解决对象之间的依赖问题,把所有Bean的依赖关系通过配置文件或注解关联起来,降低了耦合度。

24910
来自专栏Ryan Miao

Java XML解析工具 dom4j介绍及使用实例

  dom4j的项目地址:http://sourceforge.net/projects/dom4j/?source=directory

22720

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励