`
1028826685
  • 浏览: 920933 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类

android采用DOM解析xml文档

 
阅读更多

在这里介绍一下在android中使用DOM解析技术来解析xml文档,同样首先我们要认识到DOM解析xml的原理:DOM解析主要是先把整个xml文档加载到内存中去让后有android系统来完成对文档加载成文档树的形式储存在内存中然后我们通过android的API来解析整个文档树 ,废话不多说就开始吧!

首先person.xml

内容:

<?xml version="1.0" encoding="UTF-8"?>
<persons>
<person id="23">
<name>liming</name>
<age>30</age>
</person>
<person id="20">
<name>lixiangmei</name>
<age>25</age>
</person>
</persons>

 

下面就来看看具体的解析代码:

public class DOMParsseService {

private List<Person> personLs=null;

public List<Person> readXMLDOM(InputStream inputStream)
{
DocumentBuilderFactory documentBuilderFactory=DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder=documentBuilderFactory.newDocumentBuilder();
//开始加载整个文档到内存中形成文档树
Document document=builder.parse(inputStream);
//得到根元素
Element root=document.getDocumentElement();
//得到根元素的子元素集合
NodeList nodeList=root.getElementsByTagName("person");
personLs=new ArrayList<Person>();

for(int i=0;i<nodeList.getLength();i++)
{
Person person=new Person();
Element childElement=(Element)nodeList.item(i);
person.setId(new Integer(childElement.getAttribute("id")));
NodeList childNodeList=childElement.getChildNodes();
for(int j=0;j<childNodeList.getLength();j++)
{//判断是否为元素类型
Node node =childNodeList.item(j);
if(node.getNodeType()==Node.ELEMENT_NODE)
{
Element childNode = (Element) node;
//判断是否name元素
if("name".equals(childNode.getNodeName()))
{
//获取name元素下Text节点,然后从Text节点获取数据
person.setName(childNode.getFirstChild().getNodeValue());
}else if("age".equals(childNode.getNodeName()))
{
person.setAge(new Integer(childNode.getFirstChild().getNodeValue()).intValue());
}
}
}
personLs.add(person);
}
inputStream.close();
} catch (Exception e) {

e.printStackTrace();
}
return personLs;
}
}

单元测试方法

public void testreadXMLDOM() throws Throwable{
DOMParsseService service = new DOMParsseService();
InputStream inStream = getClass().getClassLoader().getResourceAsStream("person.xml");
List<Person> persons = service.readXMLDOM(inStream);
for(Person person : persons){
Log.i(TAG, person.toString());
}
}

 

 

分享到:
评论

相关推荐

    android Dom解析xml文件

    包括android代码实例以及个人对Dom解析xml文件的总结文档。

    Android Dom解析XML

    Android使用Dom方式解析XML,虽然xml文件太大时不建议用dom方式解析,但是如果文件比较小,也不失为一种选择。项目中xml放在assets文件夹下,view绑定使用butterknife

    android上使用DOM解析XML

    android上使用DOM解析XML的简单示例。android4.0以上。

    DOM解析xml文件实例讲解

    android为我们提供了多种解析方式,DOM解析,代码操作简单,一直为解析xml文件的一个不错的选择

    android 解析XML文件 生成XML文件

    支持SAX解析XML文件,DOM解析XML文件,Pull解析器解析XML文件,Pull生成XML文件,JAVA和Kotlin两种语言编写

    Android使用DOM方式解析XML

    使用Android自带的工具,解析xml文件内容,并显示在程序界面上

    Android开发之DOM解析xml文件的方法

    本文实例讲述了Android中DOM解析xml文件的方法。分享给大家供大家参考,具体如下: 一、在assets文件中写xml文件 &lt;?xml version=1.0 encoding=UTF-8?&gt; 李明 &lt;age&gt;30 李向梅 &lt;age&gt;25 二、在...

    DOM读取XML文件

    android dom解析XMl文件,这是一个简单的小示例,希望对大家有所帮助

    android使用pull 解析xml文件源码

    pull解析xml文件,和sax和dom一样 都可以脱离android单独使用,pull和sax的原理一样,不一样的地方是pull读取xml文件后调用方法返回的是数字, 读取到xml的声明返回数字0 START_DOCUMENT; 读取到xml的结束返回数字1 ...

    经典的DOM解析XML范例

    用Java解析XML文档,最常用的有两种方法:使用基于事件的XML简单API(Simple API for XML)称为SAX和基于树和节点的文档对象模型(Document Object Module)称为DOM。Sun公司提供了Java API for XML Parsing(JAXP)...

    android dom解析全世界地区城市xml并存入数据库

    android 使用dom解析全世界地区城市xml文件并存入数据库

    Android XML解析(DOM、PULL、SAX三种方式)

    提供了android中使用dom、pull、sax三种方式进行xml解析,xml文件放置在assets文件夹下,view绑定使用butterknife

    Android SAX、DOM、Pull解析xml文件案例讲解

    读取和解析xml文件

    android 使用Sax解析XML 源码实例

    使用SAX方式解析XML SAX 是读取和操作 XML 数据的更快速、更轻量的方 法。SAX 允许您在读取文档时处理它,从而不必等待整个文档被存储之后才采取操作。它不涉及 DOM 所必需的开销和概念跳跃。 SAX API是一个基于事件...

    Android利用Dom对XML进行增删改查操作详解

    1. 概述 平常我们一般是使用JSON与服务器做数据通信,JSON的话,直接用GSON或者其他库...DOM解析器在解析XML文档时,会把文档中的所有元素,按照其出现的层次关系,解析成一个个Node对象(节点)。再形象点,就是一棵树,

    android xml解析1

    在用SAX解析xml文档时候,在读取到文档开始和结束标签时候就会回调一个事件,在读取到其他节点与内容时候也会回调一个事件。在SAX接口中,事件源是org.xml.sax包中的XMLReader,它通过parser()方法来解析XML文档,并...

    Android三种解析XML方式demo

    在Android平台上可以使用Simple?API?for XML(SAX) 、 Document Object Model(DOM)和Android附带的pull解析器解析XML文件

    Android解析xml文件的3种方式.doc

    Android解析xml文件的3种方式,在Android中,常见的XML解析器分别为SAX解析器、DOM解析器和PULL解析器,

    android xml 的解析 sax dom pull 解析

    android 应用程序 做的 解析xml 用了三种技术 sax dom pull 三种解析xml的常用技术 另外还有一些怎么快速的让指定文件读取到xml文件中

Global site tag (gtag.js) - Google Analytics