在J2ME开辟中解析XML[Java编程]
本文“在J2ME开辟中解析XML[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
目前,XML已经遍及利用于数据交换范畴,xml是基于纯文本的,具有优异的跨平台特点.本文将报告如安在J2ME中解析XML举行数据传输.
XML写法对比简单,并且非常便于人来阅读.但是必须在客户端和服务器端有XML的解析器才可以正常通信,由于早期的移动信息设备内存和处理器上的不足,所以在MIDP1.0中并没有供应对XML的支持.随着内存和处理器的提高,对XML的支持成为了大概.在JSR182中供应了XML的解析器,但是这并非尺度MIDP中的API需求特定的实现才可以支持.幸运的是有第三方的API对解析xml供应了支持,对比闻名的是kxml和nanoxml.
利用XML之前,你必须考虑好是不是必须用它来传输数据,因为解析xml是对比耗费资源的,特别是在CPU和内存的资源都很贵重的条件下.假如我们能利用DataInputStream和DataOutputStream传输的话就尽大概不要利用XML.XML的解析器有两种,一种是确认性的,他在解析之前会对xml的文档举行有效性的考证,确保这是利用程序需求的.另一种则是非确认性的,他不做考证工作直接举行解析,无疑这样的速度会快.kxml和nanoxml都是这样的解析器.它们也存在差别,kxml是增量解析器他会一点一点的解析,这样在解析大的文档的时刻会效率对比高.nanoxml是一步解析器,一次就把文档解析完,假如文档很大的话,这无疑会耗费很大的内存.要利用kxml你可以从http://www.kxml.org 下载得到,在http://nanoxml.sourceforge.net 你可以下载nanoxml.
要利用kxml,你必须首先得到一个XmlParser实例,它用Reader作为构造器的参数:
try {
Reader r = .....;
XmlParser parser = new XmlParser( r );
}
catch( java.io.IOException e ){
// handle exception....
}
假如你的xml文档存储在String内的话你可以利用ByteArrayInputStream和InputStreamReader:
String xml = "some xml";
ByteArrayInputStream bin =
new ByteArrayInputStream( xml.getBytes() );
XmlParser parser = new XmlParser( new InputStreamReader( bin ) );
当从网上接纳数据的时刻可以这样:
HttpConnection conn = .....;
InputStreamReader doc =
new InputStreamReader( conn.openInputStream() );
XmlParser parser = new XmlParser( doc );
得到parser实例后我们便可以调用read办法举行解析了,read办法会返回一个ParseEvent,通过判断他的范例我们便可以解析xml了.
try {
boolean keepParsing = true;
while( keepParsing ){
ParseEvent event = parser.read();
switch( event.getType() ){
case Xml.START_TAG:
..... // handle start of an XML tag
break;
case Xml.END_TAG:
..... // handle end of an XML tag
break;
case Xml.TEXT:
..... // handle text within a tag
break;
case Xml.WHITESPACE:
..... // handle whitespace
break;
case Xml.COMMENT:
..... // handle comment
break;
case Xml.PROCESSING_INSTRUCTION:
..... // handle XML PI
break;
case Xml.DOCTYPE:
..... // handle XML doctype
break;
case Xml.END_DOCUMENT:
..... // end of document;
keepParsing = false;
break;
}
}
}
catch( java.io.IOException e ){
}
以上是“在J2ME开辟中解析XML[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
- ·上一篇文章:在Java中动态实施类的静态办法
- ·下一篇文章:优化J2ME程序大小
- ·中查找“在J2ME开辟中解析XML”更多相关内容
- ·中查找“在J2ME开辟中解析XML”更多相关内容