簡體   English   中英

內存有效的方式來修改Java中的XML

[英]Memory efficient way to modify XML in Java

我需要在XML文件中修改單個信息。 XML文件大約100行。 為了修改整個XML文件中的單個元素,JAVA中最有效的內存方式是什么?

  1. JAXB更好?
  2. 簡單的SAX解析器?

或其他任何方式.....建議...

SAX解析器提供了更多的解析控制能力,並且比DOM解析器更快。 從減少代碼編寫的角度來看,JAXB將很容易。 XStream也是另一個選擇,但與JAXB類似,后者是高級API,因此它有一些開銷任務,因此它會比SAX慢一些。 我將不建議直接進行字符串操作(應用String.indexOf()和String.replace()),盡管這是更新XML中唯一標記的最快方法,但是由於您的XML可能無效並且xml結構是XML,因此存在風險不簡單,則存在更新錯誤的級別標簽的風險:-)

因此,SAX解析器對我來說似乎是最好的選擇。

您的文件不大。 用於保存100行XML文件的內存大約花費了程序員5毫秒的時間。 我會問您的要求:您為什么需要以“內存效率最高的方式”進行操作? 我將使用XSLT或JDOM2,除非有明確的量化信息表明這不能滿足外部施加的性能要求,而這不能通過購買更多的內存來解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM