SAX生成XML文件为什么不能返回去修改?

来源:6-1 四种写入方式理论对比

wantededc

2016-07-30 15:13

http://img.mukewang.com/579c53150001db9f13440709.jpg

老师讲到:

假设我现在要生成一个xml。让它去存储书籍信息。首先写根节点bookstore,然后添加第一本书,然后添加第二本书,这时候发现第一本书中有某一个内容忘记添加了,想回去进行修改或增加。这时候我们发现SAX解析是无法做到这一点的,因为SAX解析是基于事件的。基于事件的模型呢,把某一个标签走完了之后,它是不能走回头路的,它没有状态性可言。所以在使用DOM还是SAX进行选择时,要考虑到你是不是要对生成的模型进行频繁的修改。

问题是: 

如果要修改BOOK id1 的内容, 直接在源码里修改或者添加新的内容, 重新运行程序,然后生成一个新的XML文件. 不就实现了之前内容的修改或者添加了吗? 

老师要讲的是什么意思呢? 没有听懂, 希望有听懂的讲解下. 谢谢.

写回答 关注

2回答

  • 为彭十七加油oO
    2018-04-25 18:37:38

    老师应该表述错了吧。不利于修改应该是指在解析xml文档时,在那些startElement()等方法中无法修改xml文档内容,建立xml文档时不存在不能修改的问题吧。个人理解,欢迎讨论。

  • 哈哈哈哈123456778
    2016-08-01 11:58:03

    因为SAX是基于事件

Java眼中的XML 文件写入

举例说明JAVA程序如何生成XML文档,多种生成方式任你选择

55804 学习 · 132 问题

查看课程

相似问题