1.Document doc = new Document();
2....
3.parser = new XmlParser( isr );
4.doc.parse( parser );
第一行创建了一个文档,保存XML树。第三行从一个名为isr的InputStreamReader中创建一个KXML语法分析程序。第四行传送这个语法分析程序到文档,然后让文档开始分析。XML被递归分析,直到到达文档的结尾。当分析调用退出时,整个文档被装入内存,这时你就可以操作它了。
1.Element root = doc.getRootElement();
2.int child_count = root.getChildCount();
3....
4.for (int i = 0; i < child_count ; i ) {
5....
6. Element kid = root.getElement(i);
7.
8. if (!kid.getName().equals("address")) {
9. continue;
10. }
因为我们知道<address>元素是根元素的直接子元素,我们可以遍历根元素的子元素,寻找address标记,如果子元素不是一个address 标记,则返回。
1.int address_item_count = kid.getChildCount();
2.
3. for (int j = 0; j < address_item_count ; j ) {
4....
如果我们找到了address子元素,我们开始遍历它的子元素,并把这些子元素的内容打印出来。不幸的是,你不能只是使用kid.getElement("name"),因为如果这个元素不存在的话,那么你将得到一个RuntimeException。所以我建议只有当你知道XML文档中存在你所有需要的所有字段时才使用这个方法。
检查你的内存
根据经验,当你不能确保你的应用程序的结构,并且你需要保持内存被占用情况较低时,你应该使用Pull语法分析程序。当你有足够内存并且可能需要通过添加或移动标记的方式操作文档时,可以使用DOM。
如果你想看看这两种方法使用内存的情况,在KtoolBar中打开工程,使用内存监视器(Edit-->Preferences:Monitoring Tag)。 当你运行MIDlet,你将看到内存监控窗口弹出,有图形和数字表示内存的使用情况。 运行每一个应用程序,然后观察绿线上升,这表示你的应用程序消耗的内存量。 你将看到Pull应用程序比DOM应用程序使用内存少一些。虽然本例中的两个MIDlet之间的区别不是非常大,但是如果一个MIDlet用DOM方式遍历一个更大的文件,那么它将消耗更多内存。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




