技工之家

Let's talk about tech

导航

从XmlElement到DataSet的解决方案

调查:

XmlElement有一个WriteTo()方法,参数是一个XmlWriter.

XmlWriter是一个抽象类,XmlTextWriter是它的一个实现

XmlTextWriter的构造函数的参数可以是

  1. TextWriter, 或者
  2. Stream, Encoding, 或者
  3. 文件名,Encoding

DataSet有一个ReadXml()方法,参数可以是

  1. Stream
  2. 文件名
  3. TextReader
  4. XmlReader

(还有一个可选的参数是XmlReadMode, 这里先忽略)

结论:

我们可以新建一个类继承Stream, 暂且叫做MemoryBufferStream. 这个Stream用作Output时,把输出的字节流保存在一个内存缓冲区中;用作Input时,从内存缓冲区中读出字节流。把MemoryBufferStream的对象传给XmlTextWriter的构造函数,把构造出的XmlTextWriter对象传给XmlElement的WriteTo()方法,再把同样的MemoryBufferStream对象传给DataSet的ReadXml方法。接下去的问题是怎么构造这个MemoryBufferStream。

也许还有更好、更直接、更优雅的办法

posted on 2004-12-27 22:45  techmania  阅读(633)  评论(0编辑  收藏  举报