java - 如何在 GWT 中解析大数据 (XML)

标签 java xml gwt

在我的 GWT 应用程序中,我从 REST 服务器检索 XML 数据。我正在使用 Piriti XML 解析器 https://code.google.com/p/piriti/wiki/Xml用于反序列化对象并显示在表格中。只要我们返回最多 1000 条记录,一切都很好,但如果结果很大,它就会挂起,并向用户提供消息以停止后面运行的 java 脚本。有人可以帮助我找到在 GWT 中处理大数据的最佳方法,或者更准确地说是在 GWT 中解析大 XML 文件的最佳方法。

非常感谢您的所有建议。

最佳答案

问题在于解析大型 XML 文档会降低浏览器的速度。并且您需要足够的内存来保存整个 DOM 以及内存中的映射对象。唯一的解决办法就是避免这种情况的发生。您必须调整 REST 服务,以便能够仅向浏览器发送小块数据。因此,如果您已经有分页表,则只需在开始时检索第一页的数据。如果用户想要更改页面,您可以执行另一个 REST 调用来检索下一页的数据。

如果您无法更改 REST 服务本身,您可以创建另一个服务器端服务(在您控制的服务器上)作为代理。第一次访问时,您调用原始 REST 服务,将 XML 存储在您自己的服务器上,并允许客户端仅检索该 XML 的部分内容。

关于java - 如何在 GWT 中解析大数据 (XML),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21412375/

相关文章:

java - 包含域和业务类的 UML 类图

xml - XSLT:获取最新日期

java - GWT、NoSuchElement 异常

java.lang.ClassNotFoundException : com. 谷歌.gwt.user.client.rpc.RemoteService

java - 在idea中调试生成的GWT类

java - 从 WAR 中的非 servlet 类获取 XML 文件的相对路径

java - 使用 Mockito 模拟 @Resource spring 属性

Java:使用 .split 进行重载分隔符(仅使用 charAt() 和 length())

Android 开关 - 在开/关时更改开关的背景

android - 我可以在 Android 的 XML 中使用变量吗?