KXML1.21(STABLE)解析XML数据范例(J2ME客户端)
来源:互联网 发布:淘宝进店提醒 编辑:程序博客网 时间:2024/04/30 21:21
XML文件如下:
<?xml version="1.0"><root><child1>childData1</child1><child2>childData2</child2></root >
使用String作为XML数据源
注意我使用的事1.21版本的,和2.0版本的使用方式是不一样的
package com.zeph.j2me.xml;import java.io.ByteArrayInputStream;import java.io.IOException;import java.io.InputStreamReader;import javax.microedition.lcdui.Display;import javax.microedition.lcdui.Form;import javax.microedition.lcdui.TextField;import javax.microedition.midlet.MIDlet;import javax.microedition.midlet.MIDletStateChangeException;import org.kxml.Xml;import org.kxml.parser.ParseEvent;import org.kxml.parser.XmlParser;public class KXMLMIDlet extends MIDlet {private Display display;private Form form;private TextField textfield1;private TextField textfield2;public KXMLMIDlet() {display = Display.getDisplay(this);form = new Form("KXML1.21(Stable)");textfield1 = new TextField("Data", "", 10, TextField.ANY);textfield2 = new TextField("Data", "", 10, TextField.ANY);form.append(textfield1);form.append(textfield2);}protected void destroyApp(boolean arg0) throws MIDletStateChangeException {}protected void pauseApp() {}protected void startApp() throws MIDletStateChangeException {display.setCurrent(form);xmlParse();}public void xmlParse() {String XML = "<?xml version=\"1.0\"?>" + "<root>" + "<child1>"+ "childData1" + "</child1>" + "<child2>" + "childData2"+ "</child2>" + "</root >";ByteArrayInputStream bis = new ByteArrayInputStream(XML.getBytes());InputStreamReader isr = new InputStreamReader(bis);XmlParser parser = null;try {parser = new XmlParser(isr);} catch (IOException e) {e.printStackTrace();}try {// 判断是否到达最后一个document标签boolean parsing = true;// 判断是否到达了我想要得到数据的Tag位置boolean isChildTag1 = false;// 判断是否到达了我想要得到数据的Tag位置boolean isChildTag2 = false;while (parsing) {ParseEvent event = parser.read();switch (event.getType()) {case Xml.START_DOCUMENT:System.out.println("start document");break;case Xml.START_TAG:System.out.println("start tag:" + event.getName());if (event.getName().equals("child1"))isChildTag1 = true;if (event.getName().equals("child2"))isChildTag2 = true;break;case Xml.TEXT:System.out.println("tag data:" + event.getText());if (isChildTag1)textfield1.setString(event.getText());if (isChildTag2)textfield2.setString(event.getText());break;case Xml.END_TAG:System.out.println("end tag:" + event.getName());if (event.getName().equals("child1"))isChildTag1 = false;if (event.getName().equals("child2"))isChildTag2 = false;break;case Xml.END_DOCUMENT:System.out.println("end document");parsing = false;break;}}} catch (IOException e) {e.printStackTrace();}parser = null;try {isr.close();bis.close();} catch (IOException e) {e.printStackTrace();}}}
- KXML1.21(STABLE)解析XML数据范例(J2ME客户端)
- xml解析-dom范例
- xml解析-sax范例
- xml解析-dom4j范例
- XML 的 SAX 解析范例:将数据封装至javaBean
- j2me解析xml
- 二、J2ME简单的行情软件--得到数据(解析xml)
- J2ME中的XML解析器
- 关于j2me中解析xml
- Android客户端解析web服务器XML数据小问题
- ios客户端XML解析
- 使用Digester解析XML文件简单范例
- 使用DOM4J解析XML String范例
- staxgs.pdf中XML范例解析
- XML 的 Dom4j 解析范例,以及 XPath
- 数据解析(XML、JSON)
- 解析XML数据(dom4j)
- 在J2ME开发中解析XML
- asp.net 网页技术要点摘要
- ffmpeg_sdk搭建VC
- 手动释放oracle数据库中死锁的对象锁!
- SIO_KEEPALIVE_VALS 用户异常掉线检测
- JAVA XML 解析 DOM 方式
- KXML1.21(STABLE)解析XML数据范例(J2ME客户端)
- HDU 3756 Dome of Circus 三分
- 1.C++的短整型
- 页面自动跳转
- linux的mount命令详解
- 怎樣在不同DB環境生成其它DB的存儲過程
- INI文件的操作
- StringUtils
- 为什么大学时不知道API这事呢