国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

在以CLDC?基?的架?上分析XML

2019-11-18 15:22:56
字體:
來源:轉載
供稿:網友
越?越多的?用程式使用xml交??息。譬如,以 CLDC ?基?的?用程式 需要去?理 XML 文件,甚至? Html ??也??很有可能??成?一?以 XML ?基?的格式。而?意味著?一???伺服器??一???而取出?料??需要分析 XML 的技?。

XML就是「可?展???言」,是一??便的、以文字?基?的方法去呈???化的?料。

越?越多的?用程式使用 XML 交??息,甚且,在一些情?下,您以 CLDC ?基?的?用程式 (?些是指在以 CLDC ?基?的架?上?行的,像是微小的手??置之?的) 需要去?理 XML 文件。之後,甚至? HTML ??也??很有可能??成?一?以 XML ?基?的格式,?? XHTML。?意味著?一???伺服器??一???而取出?料??需要分析 XML 的技?。

?找一?以 java ?基?的 XML 分析器不?,尤其是自?有好??以 XML ?基?的的提倡?始被定?? Java ?理程序的一部分。然而,大部分的 XML 分析器?不支援在 CLDC 所提供的有限?源?境下?作。?些分析器不是使用了太多的???就是使用在 CLDC 下不能?作的 J2SETM ??。

然而,在?有??能在 CLDC ?境下?作的?放原始? XML 分析器 ── kXML 和 NanoXML。他?二者的??有些不同 ── 本文????他??者,?且提供您如何去?定哪一?是最?合您的程式需求。然而,您也??考?是否?? XML,因? XML 文件是非常冗?的。

假如您能?控制伺服器端,去使用您自己的二?位的格式去交??料才是有意?的。

假如一?以 Java ?基?的客?端?一?以 Java ?基?的伺服器端相互?通,?是相?輕易的。在???例?,使用 DataInputStream 和 DataOutputStream ??,以?便的方法??取?料。

基本的 XML 分析器型?
基本的 XML 分析器型?有??:??性的和非??性的。

一???性的分析器透?一?文件型?定?或概要 (schema) ??一份 XML 文件,以?保?份文件的?容是程式所?期的。??要求???低?理的速度。一?非??性的分析器跳???步?,只保??? XML 文件是合乎基本格式的 (well-formed),?而言之,它遵守一般 XML 文件必?遵守的??。kXML 和 NanoXML 二者都是非??性的分析器。

 非??性的分析器
XML 分析器也能以他?如何?理和呈? XML 文件??分。

NanoXML 是一??一步? (single-step) 分析器。?定一份文件,NanoXML 以一??一的?作分析它,???份文件以一???的???回。kXML,相?之下,是一?多步?的 (multi-step) 的分析器 ── 一次分析文件的一??域。

???方法各有利弊,假如您正在?理一份?大的文件,?一步?的方法使用?多的???,因?全部的文件都?存在???中。但是?一步?的方法??有效率,假如您需要穿越?份文件很多次。多步?的方法能???易的?理?大的文件,但是您必?做?多的簿? (bookkeeping) 去追?您在文件的哪一?地方。

■ ?如何使用 kXML 呢?

? http://www.kxml.org/ 下? kXML 原始?,?且? kXML ??包含?您的?用程式。?不是所有的??都是需要的,所以只要下?包含最小 kXML 的 Zip ?。在安?完???案後,新增下面的引入?述到您的程式中。


import org.kxml.*;
import org.kxml.parser.*;



?您??好去分析一份文件?,?生一? XmlParser ????,?入一?字元 (character) 流?唯一的??。



try {
Reader r = .....;
XmlParser parser = new XmlParser( r );
}
catch( java.io.IOException e ){
// handle exception....
}



假如您的文件是以字串被?存,?例??,您可以藉著??字串成?一?位元? (byte) ?列??取它,然後,?合 InputStreamReader 和 ByteArrayInputStream:



// ?取字串 (exception handling omitted)
String xml = "some xml";
ByteArrayInputStream bin =
new ByteArrayInputStream( xml.getBytes() );
XmlParser parser = new XmlParser( new InputStreamReader( bin ) );



然而,更可能?生的情?是,??路接收一份文件,?例??,在 CLDC 的通常??架? (GCF),您使用 MIDP ?建支援 HTTP 的???做?件事,然後您?使用 GCF 回?的?入流 (input stream),?且??它成?字元流 (character stream):



// Read from web (exception handling omitted)
HttpConnection conn = .....;
InputStreamReader doc =
new InputStreamReader( conn.openInputStream() );
XmlParser parser = new XmlParser( doc );



析器被?生後,您呼叫它的 read 方法去?取文件分?的??。read 方法?文件的每一?元件回?一? ParseEvent 物件:



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥化市| 中牟县| 门源| 衡水市| 郴州市| 麦盖提县| 广东省| 揭西县| 濮阳市| 浮梁县| 成安县| 辛集市| 双辽市| 陕西省| 子长县| 阜平县| 木兰县| 民县| 西畴县| 兴国县| 焦作市| 姚安县| 北海市| 高碑店市| 灵璧县| 遂平县| 淮北市| 嘉兴市| 兰西县| 固阳县| 苏尼特左旗| 城口县| 碌曲县| 朝阳市| 嘉荫县| 东源县| 西畴县| 伊川县| 嘉兴市| 宁阳县| 临朐县|