将数据库结果显示为XML

时间:2013-05-20 18:24:28

标签: c# asp.net sql-server xml

我有一个简单的SQL查询,我想查询数据库并将结果作为XML返回。我使用了关键字for XML,但它说XML不是有效的语法。  帮助

using (SqlConnection c= new SqlConnection(cs))
        {
            string s= "select * from Doctor for XML";

            using (SqlCommand cmd = new SqlCommand(s,c))
            {
                using (SqlDataAdapter ad = new SqlDataAdapter(cmd))
                {
                    ad.Fill(t); // IT SAYS XML IS NOT A VALID SYNTAX
                }
            }
        }

3 个答案:

答案 0 :(得分:1)

您可以使用DataAdapter.Fill()方法将查询结果填充到DataTable,然后转换为xml。

此处为DataTable.WriteXml() method

的MSDN链接
using (SqlConnection c= new SqlConnection(cs))
{
    string s= "select * from Doctor"; //remove the for xml

    using (SqlCommand cmd = new SqlCommand(s,c))
    {
         using (SqlDataAdapter ad = new SqlDataAdapter(cmd))
         {
            DataTable dt;
            ad.Fill(dt); 

            //Use DataTable.WriteXml() method 
            //dt.WriteXml(parameters);
         }
    }
}

答案 1 :(得分:0)

您是不是将数据填充到数据集中并将其转换为XML文档? 那不适合你吗? 查看以下帖子

Dataset -> XML Document - Load DataSet into an XML Document - C#.Net

Convert Dataset to XML

答案 2 :(得分:0)