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();
		}
	}
} 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值