我可以使用C#调用输出作为SQL Server的XML功能吗?

时间:2011-08-25 09:10:21

标签: c# sql xml

MSSQL Server可以将查询结果作为XML格式返回。我的问题是,我可以使用C#直接调用此函数吗?我只想生成XML而不使用任何序列化或传统C#代码中使用的其他方法。

由于 SUT

2 个答案:

答案 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数据仍然会被序列化和反序列化。 (对象只能在相同的内存空间中使用。一旦跨越应用程序边界,将需要某种形式的序列化)