2

如果我有一个 IDataReader,我将如何构建一个 xml 编写器以输出到 xml。它需要自定义流或编写器吗?我正在尝试写入 xml 文件,但我可以访问 IDataReader。

4

1 回答 1

0

一种方法是构建一个类来模仿 中的数据IDataReader并将其简单地序列化为 XML。假设数据读取器中的数据是Field1, Field2, Field3,该类将如下所示:

public class Data
{
    public string Field1;
    public string Field2;
    public string Field3;
}

当然,数据类型可能会有所不同。现在,我们需要做的就是将数据读入类,它可能看起来像这样:

var list = new List<Data>();
while (reader.Read())
{
    var o = new Data();
    o.Field1 = reader["Field1"];
    o.Field2 = reader["Field2"];
    o.Field3 = reader["Field3"];
    list.Add(o);
}

var serializer = new XmlSerializer(typeof(List<Data>));

using (TextWriter textWriter = new StreamWriter(fileName))
{
    serializer.Serialize(textWriter, list);
}
于 2013-07-03T19:49:41.177 回答