`
zou_12345
  • 浏览: 8835 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

J2ME KXML 解析中文xml代码示例

    博客分类:
  • j2me
阅读更多
1、首先需要在你的工程资源中引入kxml.zip(kxml 1.21 stable version)

http://kxml.objectweb.org/software/downloads/  

2、然后你建立一个httpconnection发送url请求,返回为in

3、最后解析in内容,如果包含中文内容,注意需要设置读入字节格式为UTF-8,否则会出现乱码。

比如从google cn上寻找一个酒店,需要获取其名字,地址,电话,坐标信息,输出格式为kml,url请求为

http://ditu.google.cn/maps?output=kml&hl=zh-CN&sll=31.2309321,121.4755366&start=0&num=10&q=酒店

那么解析返回kml信息的代码片断如下:

public void parse(InputStream in) throws IOException {
            System.out.println("Enter parse:in");
     Reader reader = new InputStreamReader(in,"UTF-8");
     XmlParser parser = new XmlParser(reader);
     ParseEvent pe = null;   
     parser.skip();   
     parser.read(Xml.START_TAG, null, "kml");
     parser.skip();   
     parser.read(Xml.START_TAG, null, "Folder");
     boolean trucking = true;   
     //boolean first = true;   
     while (trucking) {
       pe = parser.read();     
       if (pe.getType() == Xml.START_TAG) {
         String name = pe.getName();       
         if (name.equals("Placemark")) {
           String title, address, coordinates, snippet, tel;
           title = address = coordinates = snippet = tel = null;
           while ((pe.getType() != Xml.END_TAG) ||
               (pe.getName().equals(name) == false)) {
             pe = parser.read();           
             if (pe.getType() == Xml.START_TAG &&
                 pe.getName().equals("name")) {
               pe = parser.read();
                      title = pe.getText();
             }
             else if (pe.getType() == Xml.START_TAG &&
                 pe.getName().equals("coordinates")) {
               pe = parser.read();             
               coordinates = pe.getText();
             }
             else if (pe.getType() == Xml.START_TAG &&
                 pe.getName().equals("Snippet")) {
               pe = parser.read();
                      snippet = pe.getText();
                      //简述的格式是 "address<br/>tel no"
                      int beg = snippet.indexOf("<");
                      int end = snippet.indexOf(">");
                      address = snippet.substring(0,beg);
                      tel = snippet.substring(end,snippet.length());
             }
           }

                  // 这里的Listener是处理xml解析结果的抽象接口,通常由对xml感兴趣的Form对象实现
                  mResultListener.itemParsed(title, address, coordinates, tel);
         }
         else {
           while ((pe.getType() != Xml.END_TAG) ||
               (pe.getName().equals(name) == false))           
            pe = parser.read();       
           }
       }
       if (pe.getType() == Xml.END_TAG &&
             pe.getName().equals("kml"))
        trucking = false;   
     }
   }



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/iefreer/archive/2009/11/22/4851511.aspx
分享到:
评论

相关推荐

    kuixdemo-1.0.0(J2ME下解析xml文件)

    **描述:“在J2ME下对XML文件进行解析的示例源码及帮助文件”指出,该压缩包不仅包含了实际的源代码,还有相关的帮助文件,以便开发者理解和应用XML解析技术。** 在J2ME平台中,由于资源限制,XML解析不像在Java SE...

    浅谈KXML2解析问题

    KXML2是一个用于Java平台上的轻量级XML解析库,主要应用于移动设备等资源受限的环境中。它采用Pull解析模式,即开发者通过一系列方法调用来“拉取”XML文档中的数据,而不是由解析器主动推送数据给应用程序。这种...

    XML.rar_J2me online game

    在J2ME中解析XML,通常使用KXML或NanoXML等轻量级库,因为这些库占用资源少,适合内存有限的设备。开发者需要编写代码来读取XML文件,解析其结构,并将数据转换为游戏内可使用的对象。 **4. 创建游戏架构** 一个...

    kxml2_doc_src

    《深入理解KXML2:解析XML的J2ME利器》 KXML2,作为一个轻量级的XML解析库,尤其在J2ME(Java 2 Micro Edition)环境中,它扮演了重要的角色。J2ME是Java平台的一个子集,主要用于嵌入式设备,如手机、智能手表等,...

    j2me-xmlrpc.rar

    - 由于J2ME不支持标准的Java XML解析库,可能需要使用轻量级的解析器,如KXML。 - 网络连接的建立和关闭需妥善处理,防止资源泄露。 - 考虑到网络环境的不稳定,应做好异常处理和重试机制。 5. **应用场景** - ...

    kxml2-src-2.3.0.zip

    7. `samples_midp`和`samples`目录:提供了一些示例代码,帮助开发者理解和学习如何使用kxml2进行XML解析。midp表示Mobile Information Device Profile,是J2ME的一部分,意味着这些示例也适用于移动设备环境。 8. ...

    j2me-ws.rar

    "j2me-ws.rar" 可能包含 J2ME 库、示例代码或工具,帮助开发者创建和消费 Web 服务。 3. **KJava 和 MIDP** KJava 是 J2ME 的一部分,它是一个虚拟机,用于执行 J2ME 应用。MIDP 提供了类库和 API,用于创建具有...

    用J2ME实现的小程序(2)

    J2ME 不包含内置的解析库,所以可能需要手动编写解析器或者使用第三方库,如 KXML 或 JSON.org 提供的 JSON 解析器。 4. **数据展示**:解析后的天气信息将显示在用户界面上,可能包括当前温度、天气状况、风速等。...

    Java手机程序设计入门

    1. **书本作者的资源收集网站**:提供由作者Eric Giguere收集的相关资源,包括代码示例和技术文档等。 - **网址**:http://www.ericgiguere.com/microjava/ 2. **Chicago Wireless Developer User Group**:这个...

Global site tag (gtag.js) - Google Analytics