易截截图软件、单文件、免安装、纯绿色、仅160KB

Android(三)数据存储之XML解析技术

今日继续学习Android中使用Pull的XML解析技术实现对XML文件的解析和创建。由于明天休息,时间比较充裕,所以我也将昨天未总结的SAX解析技术在此做个总结。
一、SAX解析技术
Sax使用的是事件驱动的流式解析技术。事件驱动的流式解析方式是,从文件的开始顺序解析到文档的结束,不可暂停或倒退。当解析到文档的开始或结束、元素的开始或结束等都会触发一个事件,我们在事件处理方法中完成对数据的操作。由此可见,我们需要编写实现了事件接口的类。
1.创建Android工程(eclipse3.5):
Project name:AndroidXML
BuildTarget:Android2.1
Application name:Android XML 解析技术
Package name:com.changcheng.androidxml
Create Activity:AndroidXML
Min SDK Version:7
2.需要解析的XML文件:
"1.0" encoding="UTF-8"?>
"23">
C++ Primer 4
78
"20">
Think in Java
76
该文件存放于src源码目录。
3.XML文件对应的实体Book:
package com.changcheng.androidxml.entity;
public class Book {
private int id;
private String name;
private float price;
public Book() {
}
public Book(int id, String name, float price) {
this.id = id;
this.name = name;
this.price = price;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
@Override
public String toString() {
return "Book [name=" + name + ", price=" + price + "]";
}
}
4.Sax解析XML的事件处理类:
Sax的事件处理类必须实现ContentHandler接口,但我们在这个例子中不需要使用到ContentHandler接口的所有方法,我们仅需要其中的3个方法。所以Sax为我们提供了一个没有进行任何操作的ContentHandler实现类DefaultHandler。我们直接继承DefaultHandler类,并重写我们需要的方法即可。
package com.changcheng.androidxml.xml;
import java.util.ArrayList;
import java.util.List;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
import com.changcheng.androidxml.entity.Book;
public class SaxXmlCont


相关文档:

XML DTD XSD XSL XDR都有什么区别?

XML=可扩展标记语言(eXtensible Markup Language).
可扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的 ......

Sql Server 对xml类型的操作

 declare @XML XML
SET @XML='<root>
 <OLDVALUE>
  <H_Action id="1130">030</H_Action>
  <D_Action>030</D_Action>
  <OrderCompany>00220</OrderCompany>
  <OrderNumber>10004035</OrderNumber> ......

XML取值应用实例

原贴:http://topic.csdn.net/u/20100412/14/f6941844-e9bf-4ed7-a0c2-bef03d775783.html?70615
declare @data xml=
'<root>
  <SaleMan>
  <SaleManId>1</SaleManId>
  <SaleManCode>001</SaleManCode>
  <Nodes>
  <Node>
  < ......

Ajax 操作XML的好实例

  在上一篇文章中,我们讨论了如何通过javascript从一个远程XML文件中取得数据。在这篇文章中,我们将学会怎样对数据作更复杂的处理。作为一个示例,我们会准备一组XML数据,将数据分割成独立的片断并以不同的方式展示这些片断(取决于它们是如何被标识的)。
  这篇文章是建立在上一篇文章中构造的示例代码的基础之上 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号