SAX生成XML文件為什么不能返回去修改?
老師講到:
假設我現在要生成一個xml。讓它去存儲書籍信息。首先寫根節點bookstore,然后添加第一本書,然后添加第二本書,這時候發現第一本書中有某一個內容忘記添加了,想回去進行修改或增加。這時候我們發現SAX解析是無法做到這一點的,因為SAX解析是基于事件的?;谑录哪P湍?,把某一個標簽走完了之后,它是不能走回頭路的,它沒有狀態性可言。所以在使用DOM還是SAX進行選擇時,要考慮到你是不是要對生成的模型進行頻繁的修改。
問題是:?
如果要修改BOOK id1 的內容, 直接在源碼里修改或者添加新的內容, 重新運行程序,然后生成一個新的XML文件. 不就實現了之前內容的修改或者添加了嗎??
老師要講的是什么意思呢? 沒有聽懂, 希望有聽懂的講解下. 謝謝.
2018-04-25
老師應該表述錯了吧。不利于修改應該是指在解析xml文檔時,在那些startElement()等方法中無法修改xml文檔內容,建立xml文檔時不存在不能修改的問題吧。個人理解,歡迎討論。
2016-08-01
因為SAX是基于事件