- 浏览: 142570 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
flyingcatjj:
很适合我这种刚接触的
myeclipse xfire 开发webservice实例 -
tangzlboy:
非常好,非常详细,非常中用。
linux入门 -
yzz9i:
楼主说的很是详细。
myeclipse xfire 开发webservice实例 -
zqx888191:
很再理阿!
老程序员的教诲 -
simplecat123:
...
SQLite数据读取
除了可以使用 SAX解析XML文件,大家也可以使用熟悉的DOM来解析XML文件。 DOM解析XML文件时,会将XML文件的所有内容读取到内存中,然后允许您使用DOM API遍历XML树、检索所需的数据。使用DOM操作XML的代码看起来比较直观,并且,在某些方面比基于SAX的实现更加简单。但是,因为DOM需要将XML文件的所有内容读取到内存中,所以内存的消耗比较大,特别对于运行Android的移动设备来说,因为设备的资源比较宝贵,所以建议还是采用SAX来解析XML文件,当然,如果XML文件的内容比较小采用DOM是可行的。
关键代码一
package com.leequer.Service;
import java.io.InputStream;
import java.util.Iterator;
import java.util.List;
import com.leequer.Doem.Person;
import android.test.AndroidTestCase;
import android.util.Log;
public class Test extends AndroidTestCase {
private String PERSONSTRING = "ObjectPerson";
public void testReadXml() throws Exception
{//类装载器
InputStream inputStream = Test.class.getClassLoader().getResourceAsStream("NewFile.xml");
List <Person> personsList = ReadXmlByDomService.ReadXmlByDom(inputStream);
for (Iterator iterator = personsList.iterator(); iterator.hasNext();) {
Person person = (Person) iterator.next();
Log.i(PERSONSTRING, person.toString());
}
}
}
关键代码二
package com.leequer.Service;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import com.leequer.Doem.Person;
/**
* 使用dom解析xml
* 2010-04-26
* @author leequer
*
*/
public class ReadXmlByDomService {
public static List<Person> ReadXmlByDom (InputStream inputStream)throws Exception
{
List <Person> personList = new ArrayList<Person>();
//创建文档读取工厂
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
//创建读去对象
DocumentBuilder builder = documentBuilderFactory.newDocumentBuilder();
//对以输入流方式传进来的信息进行解析 整个xml文档就以树的形式存在document中
Document document = builder.parse(inputStream);
//得到根元素
Element root = document.getDocumentElement();
//得到person元素节点 这个对象中就存在persons下面的所以节点 就是很多的person节点
NodeList nodes = root.getElementsByTagName("person");
for(int i= 0 ;i<nodes.getLength();i++)
{
/**
* persons下面的节点是元素节点 person 用element就行了
*/
Element element = (Element)nodes.item(i);
Person person = new Person();
person.setId(element.getAttribute("id"));//属性
/**
* perons节点中包含的有元素节点name age 和文本节点 23 李明 所以我们迭代的时候要用note
*/
NodeList childnotes = element.getChildNodes();//得到子节点的列表
for (int j = 0 ; j < childnotes.getLength();j++)
{
Node node = (Node)childnotes.item(j);
/**
* node中有元素 也有文本节点 还包括回车和空格的文本节点 但是我们不关心回车和空格
*/
if(node.getNodeType()==Node.ELEMENT_NODE)
{
//如果是element节点 把它转换成element
Element childElement = (Element)node;
if("name".equals(childElement.getNodeName()))
{
person.setName(childElement.getFirstChild().getNodeValue());
}
if("age".equals(childElement.getNodeName()))
{
person.setAge(childElement.getFirstChild().getNodeValue());
}
}
}
personList.add(person);
}
return personList;
}
}
发表评论
-
Bitmap Drawable byte[] 三者之间的转换以及把数组存入数据库及提取数据重新组合
2012-03-06 11:21 753Bitmap Drawable byte[] 三者之间的转换以 ... -
Android Service生命周期及用法
2011-03-28 13:03 580写道 大家好,上一节 ... -
Android Activity生命周期
2011-03-28 11:41 751大家好,今天给大家详解一下Android中Activity的生 ... -
Drawable使用入门
2011-03-25 16:03 1103一个让人赏心悦目的界面对软件来说非常重要,因此图形图像资源也显 ... -
Android 中的几个常用控件
2011-03-24 14:43 967写道 1、RadioButton RadioButton ... -
android命令
2011-03-03 14:44 926写道 大家好,今天我 ... -
android学习的好网址
2011-02-22 10:10 882http://www.droidnova.com/and ... -
linux下操作android模拟器命令
2011-02-14 17:14 2107写道 1:列出模拟器类型 android list ... -
Activity生命周期
2011-02-08 19:59 851大家好,今天给大家详解一下Android中Activit ... -
Intent对象的简单使用
2011-02-08 00:38 582如果要转换的页面不只是背景,颜色或文字内容的不同,而是A ... -
setContentView的应用
2011-02-08 00:34 1487手机页面的转换set ... -
多个Activity之间的通信与数据传递的Bundle对象的使用
2011-02-08 00:18 1143在Activity 中调用另一个Activity ,但若 ... -
多个Activity之间的通信
2011-02-07 22:38 2012第一步:新建一个继承Activity的类,如:NewActiv ... -
共享数据功能使用-ContentProvider
2011-01-26 11:03 1151package it.date; import it ... -
外部应用访问
2011-01-11 16:29 1929使用context中的文件输出流它有四种模式: * ... -
使用SharedPreferences进行数据存储-
2011-01-11 11:07 964很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们 ... -
pull读取xml--android
2011-01-09 22:54 1909pull解析xml文件,和sax和dom一样 都可以脱离and ... -
数据保存到sd卡上
2011-01-05 17:22 9411 关键代码 package cn.lee.data; ... -
android读取功能
2011-01-05 16:03 9211 设计界面 <?xml version=" ... -
android的日志输出和单元测试
2010-12-31 17:52 1511日志输出 代替Syste ...
相关推荐
包含翻译后的API文档:dom4j-2.1.1-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.dom4j:dom4j:2.1.1; 标签:dom4j、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开...
【Qt】DOM读取XML文档.rar
利用dom4j--读取xml文件。 代码简洁易懂。
如果你只想读取并显示整个XML文档,那么SAX是很好的选择,因为它提供了比DOM更简单的接口,并且它不需要将整个XML文档一次性读入内存,这样便可以用来读取较大的文件 SAX只能读取,不能写入 博文链接:...
perl-XML-DOM-1.44-7.el6.noarch.rpm perl-XML-DOM-1.44-7.el6.noarch.rpm
包含翻译后的API文档:dom4j-2.1.1-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.dom4j:dom4j:2.1.1; 标签:dom4j、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”...
android dom解析XMl文件,这是一个简单的小示例,希望对大家有所帮助
文档对象模型 节点和节点树 使用DOM加载XML文档 使用DOM访问、创建和修改节点
dom4j-1.6.1.zip与 dom4j-2.0.0-ALPHA-2.jar
DOM解析XML文档DOM解析XML文档DOM解析XML文档
html练习之DOM知识---银行系统 html练习之DOM知识---银行系统 html练习之DOM知识---银行系统 html练习之DOM知识---银行系统 html练习之DOM知识---银行系统 html练习之DOM知识---银行系统 html练习之DOM知识---银行...
JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源...
dom4j---xml解析包,xml解析和以及使用java编写生成xml文件,两种使用方式,复杂和简单,必备神器
学习XML语言很重要的一章节,其中的第八章节,掌握如何用DOM操作XML文档
Android使用Dom方式解析XML,虽然xml文件太大时不建议用dom方式解析,但是如果文件比较小,也不失为一种选择。项目中xml放在assets文件夹下,view绑定使用butterknife
包括android代码实例以及个人对Dom解析xml文件的总结文档。
Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc
Dom文档对象模型-2010版,对各种Dom 模型进行介绍,转载自 web圈。 Dom文档对象模型-2010版,对各种Dom 模型进行介绍,转载自 web圈。 Dom文档对象模型-2010版,对各种Dom 模型进行介绍,转载自 web圈。
xml dom xml-DOM教学PPT
NULL 博文链接:https://justsee.iteye.com/blog/923633