前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DOM解析XML文件

DOM解析XML文件

作者头像
提莫队长
发布2019-03-01 09:41:17
8840
发布2019-03-01 09:41:17
举报
文章被收录于专栏:刘晓杰刘晓杰

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

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;
	}
}

最后总结果还是

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年03月01日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档