![]() |
1
9
没有为XML文档或DOM大小设置标准限制,因此这完全取决于主机可以处理什么。 当你在Android上实现的时候,你应该假设一个相当有限的内存,记住DOM、XML解析器、你的程序逻辑、显示逻辑、JVM和Android本身都必须放在可用的内存中!. 根据经验,可以预期DOM占用的内存大约是源XML文档大小的四倍。因此,假设512MB的可用内存,目标不超过一半的这一点为DOM,你最终得到512/8或实际最大的64 MB的XML文档。 为了安全起见,我会再次将其减半到最大32MB。因此,如果您希望有许多这样大小的文档,我会切换到SAX解析!. 如果您希望应用程序以任何速度响应大型文档,那么SAX就是一种方法。SAX解析器可以在第一个元素被读取后立即返回结果,DOM解析器需要在将任何输出发送到程序之前读取整个文档。 |
![]() |
2
4
摘自 this article :
这可能是建议使用SAX而不是DOM:SAX函数作为XML推送解析器的原因。另外,查看Wikipedia上关于SAX的文章 here .
编辑:要明确地解决大小问题,您必须查看您的实现。DOM的一个例子
|
![]() |
3
1
我的经验告诉我,使用DOM的内存是文件大小的两倍,但这当然只是一个指示。如果XML树只有一个包含整个数据的字段,那么使用的内存与文件大小类似! |
|
J_Cus504 · 在单匹配语句中使用身份变换和多谓词来沉默节点 5 月前 |
![]() |
surge3333 · 使用PowerShell构建XML 5 月前 |
|
Sandeep · XSLT代码,用于根据条件提取元素值 7 月前 |
|
Reto · XSLT 3.0突发流-如何存储/获取另一个分支的值 7 月前 |
![]() |
Ian Kemp · 如何从SelectXml调用本机XPath函数? 7 月前 |