我一直在阅读使用 SAX、STAX 和 dom 进行 xml 读写的内容。我的问题是,即使在阅读了优点和缺点之后,我仍然不确定哪个最适合我的目的 - 尽管 DOM 看起来确实是最简单的,但我将在内存非常薄弱的服务器上运行这个程序,所以如果可能的话,我热衷于使程序更有效率。对服务器的高需求也将推动对效率的需求。
这是我需要的:
只需阅读一个 xml 文档,从中提取不同的数据。在这一点上,我已经决定 SAX 解析器将是我所需要的,因为它显然是最快的?
但是,我还需要能够生成 xml 文档。在这一点上,我觉得很好 - STAX 是我应该使用的,因为它似乎具有与 SAX 相似的功能,但是允许生成 xml 代码。
最棘手的是我需要能够阅读现有的 xml 文档并编辑它的特定部分,即开始和结束标记之间的字符。DOM 看起来是最好的,但是每个人都说 DOM 使用大量资源并且速度很慢。那么这对 Stax 可行吗?
我想使用 dom 但关心内存和处理器使用等。
我可以问一下,与真实世界示例中的 Stax 相比,它会使用多少资源?xml 文件不太可能很大,我只需要进行一些读写操作。也就是说,程序是一个游戏,一开始我需要加载一个玩家的信息,最后找到玩家的xml信息,并尽快根据玩家的表现进行修改。
非常感谢任何答案/建议