MSSQL Server可以将查询结果作为XML格式返回。我的问题是,我可以使用C#直接调用此函数吗?我只想生成XML而不使用任何序列化或传统C#代码中使用的其他方法。
由于 SUT
答案 0 :(得分:1)
您可以使用ExecuteXmlReader
来自here:
using(SqlConnection cn = new SqlConnection("data source=(local);initial catalog=pubs;.....")) {
cn.Open();
SqlCommand cmd = new SqlCommand("SELECT * FROM authors FOR XML AUTO, XMLDATA", cn);
XmlReader xmlr = cmd.ExecuteXmlReader();
xmlr.Read();
while(xmlr.ReadState != ReadState.EndOfFile) {
Console.WriteLine(xmlr.ReadOuterXml());
}
}
答案 1 :(得分:0)
SqlXml
类是你需要使用的。但是,考虑到SQL连接的性质,XML数据仍然会被序列化和反序列化。 (对象只能在相同的内存空间中使用。一旦跨越应用程序边界,将需要某种形式的序列化)