C# 从存储过程C读取返回的xml#

C# 从存储过程C读取返回的xml#,c#,.net,tsql,C#,.net,Tsql,您好,我在读取存储过程返回的XML时遇到了困难。我从SQL server上执行该过程中获得了所需的XML 我的存储过程: CREATE PROCEDURE [dbo].[GetUser] @Username nvarchar(50) AS select( SELECT * FROM "User" WHERE "User".Username = @Username FOR XML AUTO, ELEMENTS, ROOT('Users')) AS result 我的c代

您好,我在读取存储过程返回的XML时遇到了困难。我从SQL server上执行该过程中获得了所需的XML

我的存储过程:

CREATE PROCEDURE [dbo].[GetUser]  
    @Username nvarchar(50)  
AS

select( SELECT * FROM "User" 
WHERE "User".Username = @Username   
FOR XML AUTO, ELEMENTS, ROOT('Users')) AS result
我的c代码在这里:

using (var conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConString"].ConnectionString))
using (SqlCommand cmd = new SqlCommand("[GetUser]", conn))
{
     cmd.Parameters.AddWithValue("@Username", Username);
     cmd.CommandType = System.Data.CommandType.StoredProcedure;
     conn.Open();
     XmlReader reader = cmd.ExecuteXmlReader();
}
读者不断得到“无”的价值我做错了什么请帮助 我只想要XML作为字符串

希望你能帮忙


谢谢

结果中有读者,但没有阅读:

 using (var xmlReader = cmd.ExecuteXmlReader())
        {
           while(xmlReader.Read())
           {
            string s = xmlReader.ReadOuterXml();      
           }
 }
但即使这样也可能有问题,因为它会给你一个字符串。如果由于工作
ReadOuterXml
而丢失信息,则可能需要使用
XPathDocument