选择显示字体大小

j2me学习系列之如何将j2me与xml集成

2、为了访问xml文件,j2me工具箱必须包含一个xml分析程序,适用于移动设备的xml分析程序优势在于:不用消耗大量的内存(占用内存较少)。

3、适用于移动设备的xml分析程序有以下几种:(xml分析程序需要从inte.net上下载)





kxml  minxml  nanoxml   tinyxml



4、分析xml文件有两种方法:基于事件的和基于树的。

基于事件的xml分析程序??单独分析xml文件中的每个元素,并通过回调方法把分析的数据送到midlet应用。

基于树的xml分析程序??相反读入整个xml文件到一种内部的树结构,把此文件存储在移动设备的内存中,缺点是带来设备上很大的内存开销,优点是快而方便地导航和操纵已分析的数据。

5、一个实例??用基于树的xml分析程序连接midlet到xml文件。

1)首先需要一个tinyxml分析程序,可从inte.net上下载,该程序是一个.jar的包,实际上就是一个java的类库(很小15kb)。

2)下载完后把tinyxml分析程序放到x:wtk104appsprojectnamelib中。

3)xml文件内容如下:





<?xml version="1.0" ?>

<mail>

<from>developer</from>

<to>students</to>

<cc>faculty</cc>

<date>30 </date>

<subject>integration</subject>

<body language="english">

this is j2me!!!!!!

</body>

</mail>



另存为mail.xml,你也可以使用自己的xml文件??把该文件放如j2ee服务器的public_html文件夹中。

4)midlet应用代码如下:




import java.io.*;

import java.util.*;

import java.lang.string;

import javax.microedition.lcdui.*;

import javax.microedition.io.*;

import javax.microedition.midlet.*;

//下面两个包出现在xml分析程序tinytreedemo中

import gd.xml.*;

import gd.xml.tiny.*;

public class tinytreedemo extends
midlet implements commandlistener

&#123;

private string url;

private parsedxml root;

private display mydisplay=null;

private form mainscreen;

private textfield requestfield;

command sendcommand=new command
("send",command.ok,1);

public tinytreedemo()
&#123;

//放置mail.xml文件的web站点

url="http://127.0.0.1:8000/mail.xml";

mydisplay=display.getdisplay(this);

mainscreen=new form("type a url:");

requestfield=new textfield
(null,url,100,textfield.url);

mainscreen.append(requestfield);

mainscreen.addcommand(sendcommand);

mainscreen.setcommandlistener(this);

&#125;

public void startapp()
throws midletstatechangeexception
&#123;

mydisplay.setcurrent(mainscreen);

&#125;



public void pauseapp()

&#123;



&#125;

public void destroyapp
(boolean unconditional)

&#123;



&#125;

public void commandaction
(command c,displayable s)

&#123;

if(c==sendcommand)

&#123;

string urlstring=
requestfield.getstring();

try

&#123;

//返回xml根元素

root=tinyparser.parsexml(url);

displaynode(root);

&#125;

catch(parseexception e)

&#123;

system.err.println("startapp:" + e);

&#125;

&#125;

&#125;

private void displaynode
(parsedxml px)

&#123;

//返回节点对象类型

string nodename=px.gettypename();

//返回节点对象类型+名称,例如tag<mail>,
tag为类型(标签),mail为节点名

if(px.getname()!=null)

nodename+="<" + px.getname() + ">";

//返回存储在标签之间的内容

string nodecontent=px.getcontent();

if(nodecontent==null)

nodecontent="";
//在控制台中打印出来

system.out.println(nodename + ":");
system.out.println(nodecontent);

enumeration e;
//返回属性,如果有就存储在enumeration中

e=px.attributes();

if(e.hasmoreelements())

&#123;

system.out.print("attribute:");

while(e.hasmoreelements())

&#123;

//返回属性名称

string attrname=(string)e.nextelement();

//px.getattribute(attrname)返回属性的值

system.out.println(attrname +
":" + px.getattribute(attrname));

&#125;

&#125;

//返回节点中的元素,
如果有就存储在enumeration中

e=px.elements();

if(e.hasmoreelements())

&#123;

//显示下一个节点
while(e.hasmoreelements())

displaynode(
(parsedxml)e.nextelement());

&#125;

&#125;

&#125;




另存为tinytreedemo.java

5)编译---预检验??测试(j2ee服务器需开启)

结果如下,控制台显示如下信息:



root:
tag<mail>:
tag<from>:
text:
developer
tag<to>:
text:
students
tag<cc>:
text:
faculty
tag<date>:
text:
30
tag<subject>:
text:
integration
tag<body>:
attribute:language:english
text:
this is j2me!!!!!!



 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons