2013-07-03 27 views

回答

1

一种方法是构建一个模拟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); 
} 
+0

这是沿着我想要的,但我想输出它的模式,将是如果我调用FOR XML AUTO,ELEMENTS,XMLSCHEMA('TestXsdSchema'),则由数据库输出。 基本上我希望xml文件匹配数据库的默认模式,这将是动态的。 – indigo0086