J2ME中的XML语法分析利器KXML - 编程入门网
D_DOCUMENT事件。
第三行判断事件是否以一个<address>标记开始,第五行传送语法分析器到控制语法分 析程序的"parseAddressTag"。
14. System.err.println(name + ": " + text); 上面的这段代码在"parseAddressTag"中循环,直到找到与<address>对应的终止标记。 如果它遇到其它任何标记,那么标记名和标记内容就会被打印到控制台上。因此,如果找到 标记<name>Robert Cadena</name>,你将看到下面的控制台输出: name: Robert Cadena 一旦找到<address>的终止标记(8- 10行),控件被返回调用函数,然后又开始查找< address>。 如你所见,使用Pull语法分析程序非常容易,并且能够传送语法分析程序到另一个函数, 然后在文档中查找元素。你并不局限于分析资源文件;你还可以使用HttpConnection把这个 函数传递到http InputStream。这把你从读取InputStream、保存内容、分析内容等操作中解 放了出来,一切都由KXML为你完成。 J2ME中的XML语法分析利器KXML(3)时间:2011-04-11 gameDOM处理 Pull语法分析特别适用于当你需要维护非常小的存储空间的时候,因为发出事件的文档只 有一部分存在于内存中。换句话说,如果你感兴趣的特定数据段是文档中部的几百个字节, 那么前面的几百个字节就不必保存在内存中了。 但是如果你能够节省一些内存,你可以使用另一个版本的KXML语法分析程序,它包含对 DOM的支持。 DOM是保存在内存中的整个文档树,每个标记都被分离成节点(Node)对象。 你可以遍历这个文档树,然后根据需要取得数据。 工程中的另一个MIDlet,KXMLDemo_dom,做了同样的事情。它读取一个通讯录,然后把内 容打印到控制台,但是这次它使用了DOM。下面给出源代码中比较重要的几行. 1.Document doc = new Document(); 2.... 3.parser = new XmlParser( isr ); 4.doc.parse( parser ); 第一行创建了一个文档,保存XML树。第三行从一个名为isr的InputStreamReader中创建 一个KXML语法分析程序。第四行传送这个语法分析程序到文档,然后让文档开始分析。XML被 递归分析,直到到达文档的结尾。当分析调用退出时,整个文档被装入内存,这时你就可以 操作它了。
因为我们知道<address>元素是根元素的直接子元素,我们可以遍历根元素的子元素, 寻找address标记,如果子元素不是一个address 标记,则返回。
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |