0

我有一个简单的 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
                }
            }
        }
4

3 回答 3

1

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

这里是DataTable.WriteXml() 方法的 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);
         }
    }
}
于 2013-05-20T18:41:33.983 回答
0

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

数据集 -> XML 文档 - 将数据集加载到 XML 文档中 - C#.Net

将数据集转换为 XML

于 2013-05-20T18:36:01.003 回答
0

你想SqlCommand.ExecuteXmlReader()改用。

于 2013-05-20T18:38:28.153 回答