我一直在閱讀使用SAX,STAX和dom的xml閱讀和書寫。我的問題是,即使閱讀的優點和缺點後,我現在還不能確定哪個是最好的,我的目的 - 雖然DOM確實出現了最簡單的,我會用很少的內存,以便一個非常薄弱的服務器上運行此程序如果可能的話,我非常希望讓程序更高效。對服務器的高需求也將推動對效率的需求。什麼xml解析器適合這些要求?
這就是我需要:
通過XML文檔從中拉出不同的數據只需閱讀。在這一點上,我決定SAX解析器將會是我所需要的,顯然它是最快的?
不過,我也需要能夠生成XML文檔。在這一點上,我認爲很好 - STAX是我應該使用的,因爲它似乎具有與SAX類似的功能,但允許生成xml代碼。
最靠譜的是,我需要能夠通過現有的XML文檔閱讀和編輯的特定部分,即在開始和結束標記之間的字符。 DOM看起來是最好的,但是每個人都說DOM使用了很多資源,而且速度很慢。那麼這對於Stax來說可能嗎?
我想使用DOM,但我關心的是內存和處理器的使用等
我可以問一個現實世界的例子相比,斯塔克斯的時候會是多少更多的資源使用? xml文件不可能很大,我只需要進行一些讀取和寫入。也就是說,該程序是一款遊戲,開始時我需要在玩家身上加載信息,並最終找到玩家的xml信息,並儘可能快地根據玩家的表現進行修正。
非常感謝任何答案/建議
如果XML文件不是很大的不效率關心自己修改XML。 – Patashu
@Patashu對不起 - 不是最好的q:但什麼定義大的XML文件?我沒有經驗的XML文件,所以不知道他們可以得到多大。謝謝 –
大是相對的,例如大到足夠大,以至於如果沒有明顯的放緩,就無法解析它。以最簡單的方式實現它,然後,如果它變得太慢,那麼你考慮如何加速它(以科學的方式,分析等) – Patashu