我需要修改XML文件中的单个信息。 XML文件大约有100行。要修改整个XML文件中的单个元素,JAVA中最有效的内存方式是什么?
或任何其他方式......请建议......
答案 0 :(得分:1)
SAX解析器提供更多的解析控制,并且比DOM解析器更快。从较少编写代码的意义上讲,JAXB很容易。 XStream也是另一个选项,但它类似于JAXB,它是一个高级API,所以它有一些开销任务,所以它会比SAX慢一点。 我不会建议直接字符串操作(应用String.indexOf()和String.replace())虽然这是更新XML中唯一标记的最快方法,但由于XML可能无效且xml结构是不简单,那么将有更新错误级别标签的风险:-)
因此,SAX解析器对我来说是最好的选择。
答案 1 :(得分:1)
你的文件不大。用于保存100行XML文件的内存大约花费5毫秒的程序员时间。我会质疑你的要求:为什么你需要以最节省内存的方式做到这一点"?我会使用XSLT或JDOM2,除非有明确的量化信息,这将不符合外部强加的性能要求,这是通过购买更多内存无法解决的。