什么xml解析器符合这些要求?

时间:2013-06-27 04:15:43

标签: java xml dom sax stax

我一直在阅读使用SAX,STAX和dom的xml读写。我的问题是,即使在阅读了优点和缺点后,我仍然不确定哪个最适合我的目的 - 虽然DOM看起来最简单,但我将在一个非常弱的服务器上运行这个程序,内存很少如果可能的话,我很想让程序更有效率。对服务器的高需求也将推动对效率的需求。

这就是我需要的:

  1. 只需阅读xml文档,从中提取不同的数据。在这一点上,我已经决定SAX解析器将是我所需要的,因为它显然是最快的?

  2. 但是,我还需要能够生成xml文档。在这一点上,我认为很好 - 我应该使用STAX,因为它似乎具有与SAX类似的功能,但允许生成xml代码。

  3. 最棘手的是我需要能够读取现有的xml文档并编辑它的特定部分,即开始和结束标记之间的字符。 DOM看起来是最好的,但是每个人都说DOM使用了大量资源并且速度很慢。这对Stax来说可能吗?

  4. 我想使用dom,但我关心内存和处理器使用情况等。

    在现实世界的例子中,与STax相比,我可以问一下它会使用多少资源吗? xml文件可能不大,我只需要进行一些读写操作。也就是说,程序是游戏,在开始时我需要在玩家上加载信息,最后在玩家身上找到xml信息,并尽快根据玩家的表现进行修改。

    非常感谢任何答案/建议

1 个答案:

答案 0 :(得分:1)

使用Sax   由于您想修改XML,这对您没有帮助

使用DOM   既然你关心记忆(效率),那就不行了

使用Stax    这有助于您的关注。你也指出了它。如何使用Stax修改XML [{3}}