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