2
如果我有一个IDataReader,我将如何构建一个xml编写器来输出到xml。它需要一个自定义的流或作家?我试图写入一个XML文件,但我有权访问IDataReader。如何在C#中编写IDataReader中的xml文件
如果我有一个IDataReader,我将如何构建一个xml编写器来输出到xml。它需要一个自定义的流或作家?我试图写入一个XML文件,但我有权访问IDataReader。如何在C#中编写IDataReader中的xml文件
一种方法是构建一个模拟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);
}
这是沿着我想要的,但我想输出它的模式,将是如果我调用FOR XML AUTO,ELEMENTS,XMLSCHEMA('TestXsdSchema'),则由数据库输出。 基本上我希望xml文件匹配数据库的默认模式,这将是动态的。 – indigo0086