`
wayfarer
  • 浏览: 297686 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

kxml doc

阅读更多

1. KXmlParser

java.lang.Object
  org.kxml2.io.KXmlParser

//定义一个事件采用回调的方式,直到读取xml完毕。
public int getEventType() throws org.xmlpull.v1.XmlPullParserException

//遍历下一个事件,返回一个事件的类型
public int next() throws org.xmlpull.v1.XmlPullParserException, java.io.IOException

//得到当前Tag名字
public String getName()

//获取文本
public String getText()

//得到当前Tag下面的属性数量
public int getAttributeCount()

//得到当前Tag下面指定位置的属性名称
public String getAttributeName(int index)

//得到当前Tag下面指定位置的属性植
public String getAttributeValue(int index)
public String getAttributeValue(java.lang.String namespace, java.lang.String name)

(1)
XmlPullParser.START_DOCUMENT = 0: Signalize that parser is at the very beginning of the document and nothing was read yet. This event type can only be observed by calling getEvent() before the first call to next(), nextToken, or nextTag()).
XmlPullParser.END_DOCUMENT = 1: Logical end of the xml document. Returned from getEventType, next() and nextToken() when the end of the input document has been reached.
Note : calling again next() or nextToken() will result in exception being thrown.
(2)
XmlPullParser.START_TAG = 2: Returned from getEventType(), next(), nextToken() when a start tag was read. The name of start tag is available from getName(), its namespace and prefix are available from getNamespace() and getPrefix() if namespaces are enabled. See getAttribute* methods to retrieve element attributes. See getNamespace* methods to retrieve newly declared namespaces.
XmlPullParser.END_TAG = 3: Returned from getEventType(), next(), or nextToken() when an end tag was read. The name of start tag is available from getName(), its namespace and prefix are available from getNamespace() and getPrefix().
XmlPullParser.TEXT = 4: Character data was read and will is available by calling getText().
Note : next() will accumulate multiple events into one TEXT event, skipping IGNORABLE_WHITESPACE, PROCESSING_INSTRUCTION and COMMENT events, In contrast, nextToken() will stop reading text when any other event is observed. Also, when the state was reached by calling next(), the text value will be normalized, whereas getText() will return unnormalized content in the case of nextToken(). This allows an exact roundtrip without chnanging line ends when examining low level events, whereas for high level applications the text is normalized apropriately.

 

2. 例子

public Object getBasicInfo(String url, ActionDispatcher dispatcher) {
	InputStream is = ActionConstants.getHttpPool().process(url, dispatcher);
	int count = 0, _count = -1;
	String temp = null;
	Vector tags = new Vector();
	try {
		KXmlParser parser = new KXmlParser();
		parser.setInput(new InputStreamReader(is));
		parser.setInput(is, "UTF-8"); //纠正中文乱码
		int eventType = parser.getEventType();
		while (eventType != XmlPullParser.END_DOCUMENT) {
			if (eventType == XmlPullParser.START_TAG) {
				if ("result".equals(parser.getName())) {
					if (parser.getAttributeValue(0) != null) temp = parser.getAttributeValue(0);
					if (!"100".equals(temp)) NaviException.getConnException(temp);
				} else if ("hot_spot".equals(parser.getName())) {
					int size = parser.getAttributeCount();
					for (int k = 0; k < size; k++) {
						if ("name".equals(parser.getAttributeName(k))) {
							if (parser.getAttributeValue(k) != null) temp = parser.getAttributeValue(k);
							if (temp == null || temp.trim().length() < 1) {
							} else {
							}
						} else if ("category_id".equals(parser.getAttributeName(k))) {
						} else if ("id".equals(parser.getAttributeName(k))) {
						}
					}
				} else if ("address".equals(parser.getName())) {
					count = 1;
				} else if ("phone_number".equals(parser.getName())) {
					count = 2;
				} else if ("introduction".equals(parser.getName())) {
					count = 3;
				} else if ("tag".equals(parser.getName())) {
					count = 4;
					_count++;
				}
			} else if (eventType == XmlPullParser.TEXT) {
				if (parser.getText() != null) temp = parser.getText();
				switch (count) {
				case 1:
					count = 0; // 将count清零, 防止将脏数据再次赋值
					if (temp != null && temp.trim().length() >= 1) {
					}
					break;
				case 2:
					count = 0; // 将count清零
					if (temp != null && temp.trim().length() >= 1) {
					}
					break;
				case 3:
					count = 0; // 将count清零
					if (temp != null && temp.trim().length() >= 1) {
					}
					break;
				case 4:
					count = 0; // 将count清零
					if (temp != null && temp.trim().length() >= 1) {
						tags.insertElementAt(temp, _count);
					}
					break;
				}
			}
			eventType = parser.next();
		}
	} catch (Exception e) {
		e.printStackTrace();
	} finally {
		if (is != null) {
			try {
				is.close();
			} catch (IOException e1) {
				e1.printStackTrace();
			}
			is = null;
		}
	}
	return null;
}

 

3. 资料下载

http://download.csdn.net/source/1686003

分享到:
评论

相关推荐

    chm 格式的kxml 帮助文档

    chm格式的kxml doc,用quickchm做的,不过索引没做,因为kxml的类少。

    kxml2_doc_src

    这个压缩包“kxml2_doc_src”包含了KXML2的完整帮助文档和源代码,为开发者提供了详尽的学习和参考资源。 一、KXML2概述 KXML2是由Kevin Conner开发的,它是一个基于事件驱动的XML解析器,专为J2ME和Android平台...

    kxml2-2.4.2

    kxml2-2.4.2是用于解析xml文件的。 kXML 2 实现了 XmlPull API。要了解关于 XmlPull 解析器及接口说明的信息,请访问xmlpull.org。 kXML 2 基于 BSD 许可协议。

    kxml2-2.2.2.jar

    《深入解析kxml2-2.2.2.jar:Android XML解析的重要库》 XML(eXtensible Markup Language)是一种被广泛应用于网络数据交换的标准格式,尤其在Android开发中,XML用于布局文件、配置文件等多种场景。在Android平台...

    kxml2-2.3.0.jar_和_xmlpull_1_1_3_4c.jar

    "kxml2-2.3.0.jar" 和 "xmlpull_1_1_3_4c.jar" 是两个关键的库文件,专门用于XML解析。这两个库提供了轻量级、高效的解决方案,尤其适合资源有限的环境,如移动设备或嵌入式系统。 首先,让我们深入了解`kxml2`。...

    kxml2_2.3.0.jar

    标题中的"kxml2_2.3.0.jar"是一个Java库,主要用于处理XML文档。KXML2是一个轻量级的XML解析器,它实现了XML Pull解析API(XMLPullParser),这是用于读取XML数据的一种高效且低内存占用的方法。这个版本2.3.0是该库...

    kxml2.3.0 源码

    《深入解析KXML2.3.0:J2ME中的XML解析框架》 XML(eXtensible Markup Language)作为一种可扩展标记语言,广泛应用于数据交换、配置文件和文档存储等领域。在Java Micro Edition(J2ME)环境中,由于资源有限,对...

    kxml解析需要用到得的jar包

    为了在Java程序中解析XML文档,我们可以使用各种库,其中之一就是kXML。kXML是一个轻量级、快速且高效的XML解析器,尤其适用于资源有限的环境,如移动设备或嵌入式系统。 kXML库由Kohsuke Kawaguchi创建,它提供了...

    kxml2-2.2.2

    《深入理解KXML2-2.2.2:Android中的Pull解析器》 在移动开发领域,尤其是在Android环境中,XML解析是数据处理的关键环节。KXML2-2.2.2是一个轻量级的XML解析库,专为Java平台设计,尤其适用于资源有限的设备,如...

    kxml源码 org包 xml解析文件包

    《深入理解KXML:解析XML的核心技术》 KXML,全称为Kotlin XML,是一个轻量级、高效的XML解析库,特别适用于Java平台。在Android开发中,由于其小巧的体积和良好的性能,KXML经常被用作XML解析的替代方案。本篇文章...

    kxml2,兼容xmlpull的小型解析器.zip

    kxml2是一个轻量级的XML解析库,它在Java平台上运行,并且是XML Pull解析器的实现之一。XML Pull是一种处理XML文档的事件驱动模型,允许开发者通过一系列的读取操作来解析XML数据,而无需构建整个XML文档树。这种...

    浅谈KXML2解析问题

    ### KXML2解析问题概述 KXML2是一个用于Java平台上的轻量级XML解析库,主要应用于移动设备等资源受限的环境中。它采用Pull解析模式,即开发者通过一系列方法调用来“拉取”XML文档中的数据,而不是由解析器主动推送...

    xml解析+kxml2+xmlpull

    在Android开发中,XML解析是处理XML文档不可或缺的技术,主要包括DOM(Document Object Model)、SAX(Simple API for XML)、PULL(Pull Parser)以及KXML2等方法。这里我们将详细探讨“xml解析+kxml2+xmlpull”...

    kxml2

    解析xml可能需要用到的jar包:kxml,版本:2.2.1。

    KXML2 使用介绍

    能够让你快速上手KXML2,要知道j2me平台上的xml解析跟j2ee上的解析是不一样的,小生不才,研究一个下午终于搞定,你不看是你的损失。

    kxml2-2.3.0.jar+xmlpull_1_1_3_4c.jar

    为了高效地解析XML文档,开发者通常会使用解析器库,如KXML2和XMLPull。这两个库在Java环境中为XML解析提供了轻量级、高效的解决方案。 KXML2是一个小型、快速且易于使用的XML解析库,适用于Java ME(移动版Java)...

    kxml2-2.3.0.jar

    J2ME中使用KXML解释XML文件 J2ME中使用KXML解释XML文件

    xmlpull-1.1.3.1.jar和kxml2-2.3.0.jar

    4. 使用KXML2 API:如果使用KXML2,可以创建一个XmlParser或XmlSerializer对象,通过开始和结束标签的方法(如startTag()和endTag())来解析或生成XML。 5. 处理属性:在元素开始标签事件中,可以使用...

    重新打包后的kxml jar包,可直接在项目引用

    个人刚学j2me时用到KXML读取XML,下载的KXML包需要重新编译打包方可用,若在eclipse中使用出现org/xmlpull/v1/XmlPullParser 类无法找到等相似异常 则使用KXML源码添加到项目中。用WTK打包不需要源码

Global site tag (gtag.js) - Google Analytics