我正在使用Android SAX解析器来搜索相当大(6MB)的XML文件中的条目。我基本上使用清单8 here中显示的代码的衍生物。我有的问题是,如果我的匹配找到了,我该如何停止解析?显示的代码继续解析整个文件的末尾,但我想在此之前停止。这是可能的还是我需要使用SAX以外的东西(例如XmlPullParser?)当发现匹配时从Xml.parse退出
0
A
回答
0
那么DiskCrasher, 每个Sax解析器都会一直工作到结束,但是如果你仍然想在它的中间停止它工作中,您可以随时检查条件并使用返回语句。
但是更好的选择性解析方法是使用XML PullParser,因为这个解析器一般可以实时工作,并且在不加载整个文件的情况下为您提供数据。这样,您可以随时检查条件并退出循环,甚至无需使用大内存块...
希望这对您有帮助!
0
当你得到一个匹配时,你可以抛出异常。异常可以捕获匹配信息并将传播到原始parse()调用者。捕获异常并测试它是否基于获得匹配或真正的解析错误并据此进行处理。
1
生成ArithmeticException并捕获它! if (condition) { int a=1; a/=0; }
...
try {
Xml.parse(this.getInputStream(), Xml.Encoding.UTF_8, root.getContentHandler());
}
catch (ArithmeticException e) {
return true;
}
这是可怕的,但它的工作原理...
+0
只需抛出一个未检查的异常,就像NullPointer或Arithmetic – Phate 2012-09-30 21:47:08
相关问题
- 1. 当从python退出时出现“StackHash_0a9e error”
- 2. 每当发出警告时退出
- 3. 当发现匹配时获取数组的其他部分
- 4. 访问dll时发现模糊匹配
- 5. 退出时出现'InvalidComObjectException'?
- 6. 退出时出现异常
- 7. Python supress grep不匹配退出状态
- 8. Python 3出现匹配
- 9. 匹配第一次出现?
- 10. 匹配 - 第一次出现
- 11. 匹配首次发现出现停止阅读
- 12. Ubuntu:Sendmail退出时出现错误70
- 13. 退出命令时出现FTP错误
- 14. 退出时出现SystemExit和NameError问题
- 15. 发生,当它退出函数
- 16. 当发现匹配时搜索数组并返回所有键和值
- 17. 当字符串出现两次时匹配的正则表达式
- 18. 当在SpatialLines中提取栅格值时出现“ID不匹配”错误
- 19. 当调用“FolderPath”(文件夹的路径)时出现类型不匹配错误
- 20. Scala:当我使用“Option”时,为什么会出现类型不匹配错误?
- 21. 当我单击后退按钮时出现Bootstrap模式
- 22. 当用户输入退出或退出时打破循环c#
- 23. 当主线程退出时,如何让子线程退出?
- 24. Facebook退出按钮(iOS SDK)在退出时适当延迟
- 25. 当我将多个自定义匹配器分配给单个方法时,Mockito会出现奇怪的现象
- 26. 按下后退按钮时出现Ch 0123退出
- 27. Parsec如果发现匹配,然后抛出错误
- 28. 发行简介当前匹配特设
- 29. 当获取它的线程退出时,Mutex会发生什么?
- 30. 当环路退出时,节点https回调不会触发
谢谢,但我不能发出从匿名内部类return语句。 – 2010-08-18 23:54:12