§‖ Date ::..
§‖ BLog Info ::..
§‖ New BLog ::..
§‖ Comment ::..
§‖ Message ::..
§‖ User Login ::..
§‖ Search ::..
§‖ Links ::..



 
j2me开发浏览器

        个人研究手机浏览器也有一段时间了,基本流程也算清楚!今天给大家发个帖,总结一点东西,后面会慢慢的继续跟帖的,希望大家能够支持!

        浏览器开发,重要的一个环节就是解析页面,生成相应的控件!

主要使用的是开源的 kxml解析器 核心代码如下:

  要使用kxml,我们必须首先得到一个XmlParser实例,它用Reader作为构造器的参数:
try {
    Reader    r = .....;
    XmlParser parser = new XmlParser( r );
}
catch( java.io.IOException e ){
    // handle exception....
}

如果你的xml文档存储在String内的话你可以使用ByteArrayInputStream和InputStreamReader:
String    xml = "<a>some xml</a>";
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 ){
}

mars0319 by 2008-4-28 2:20:00
阅读全文 | 回复(1) | 引用通告 | 编辑

 
 
Re:j2me开发浏览器
访客Gkb4Er你这是在讲使用kxml,你的题目大了.
以下为mars0319的回复:
不大啊,我是用它解析网页的,所以先说一下了,以后会慢慢跟帖的
谢谢支持!

访客Gkb4Er by 2008-4-28 3:26:00
个人主页 | 引用 | 返回 | 删除 | 回复

 
发表评论:


Powered by Oblog.