在Java中修改XML的内存有效方法

时间:2015-06-25 05:55:36

标签: java xml parsing xsd xml-parsing

我需要修改XML文件中的单个信息。 XML文件大约有100行。要修改整个XML文件中的单个元素,JAVA中最有效的内存方式是什么?

  1. JAXB更好?
  2. 简单的SAX解析器?
  3. 或任何其他方式......请建议......

2 个答案:

答案 0 :(得分:1)

SAX解析器提供更多的解析控制,并且比DOM解析器更快。从较少编写代码的意义上讲,JAXB很容易。 XStream也是另一个选项,但它类似于JAXB,它是一个高级API,所以它有一些开销任务,所以它会比SAX慢一点。 我不会建议直接字符串操作(应用String.indexOf()和String.replace())虽然这是更新XML中唯一标记的最快方法,但由于XML可能无效且xml结构是不简单,那么将有更新错误级别标签的风险:-)

因此,SAX解析器对我来说是最好的选择。

答案 1 :(得分:1)

你的文件不大。用于保存100行XML文件的内存大约花费5毫秒的程序员时间。我会质疑你的要求:为什么你需要以最节省内存的方式做到这一点"?我会使用XSLT或JDOM2,除非有明确的量化信息,这将不符合外部强加的性能要求,这是通过购买更多内存无法解决的。