首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

J2ME XML解析事例

2012-08-29 
J2ME XML解析例子项目终于告一段落了,在项目中学习了很多新知识,其中xml的解析就是一个,现在把xml知识记录

J2ME XML解析例子

项目终于告一段落了,在项目中学习了很多新知识,其中xml的解析就是一个,现在把xml知识记录一下。

xml代码

<devices><!--用于支持Nokia-ui风格手机--><!--非触屏--><device><identifier>Generic/M20C10-x-Nokia</identifier><features>isVirtual</features>    <description>A device that merely supports the MIDP 2.0 and CLDC 1.0 standards.</description><capability name="ScreenSize" value="176x220"/><capability name="FullCanvasSize" value="176x220"/><capability name="CanvasSize" value="176x220"/><capability name="IconSize" value="46x48" /><capability name="JavaPlatform" value="MIDP/2.0,JTWI/1.0" /><capability name="JavaConfiguration" value="CLDC/1.0" /><capability name="JavaPackage" value="btapi, pdaapi, wmapi1.0, wmapi2.0, mmapi,m3g,nokia-ui, webservice,jsr75, jsr82, jsr120, jsr135, jsr184, jsr172, jsr205, jsr234, jsr226, jsr177, jsr179, jsr180, jsr211, jsr229, jsr238, jsr239, jsr256" /><capability name="Network" value="GSM, GPRS, UMTS" />    <capability name="Frequency" value="900,1800,1900,2100" /></device></devices>

?这个xml文件没有标准xml的声明信息, 添加上声明<?xml version="1.0" encoding="UTF-8" standalone="no"?>也同样可以解析。看你的需求吧!

?

?

package cn.aircom.test;/********************************************************************* 项目名称 :j2me学习 J2me Xml Parser* @author Liwenyu2005@gmail.com* Copyright 2010-2011 Liwenyu. All rights reserved ** 本程序只用于学习目的,不能用于商业目的。如有需要请联系作者********************************************************************/import java.io.IOException;import java.io.InputStream;import org.kxml2.io.KXmlParser;import org.xmlpull.v1.XmlPullParser;import org.xmlpull.v1.XmlPullParserException;public class XmlTest {public XmlTest() throws XmlPullParserException, IOException {parser();}public static void main(String args[]) throws XmlPullParserException, IOException {new XmlTest();}public void parser() throws XmlPullParserException, IOException {InputStream is = this.getClass().getResourceAsStream("/custom-devices.xml");KXmlParser parser = new KXmlParser();parser.setInput(is, null);int eventType = parser.getEventType();while (eventType != XmlPullParser.END_DOCUMENT) {if (eventType == XmlPullParser.START_DOCUMENT) {} else if (eventType == XmlPullParser.END_DOCUMENT) {} else if (eventType == XmlPullParser.START_TAG) {System.out.println(" " + parser.getName());int size = parser.getAttributeCount();for (int i = 0; i < size; i++) {System.out.println(" " + parser.getAttributeName(i));System.out.println(" " + parser.getAttributeValue(i));}} else if (eventType == XmlPullParser.END_TAG) {System.out.println(" " + parser.getName());} else if (eventType == XmlPullParser.TEXT) {System.out.println(" " + parser.getText());}eventType = parser.next();}}} 

?这个例子基本能满足一般的需求。

热点排行