Чтение вернуло xml из хранимой процедуры C # - PullRequest
0 голосов
/ 10 октября 2018

Привет, мне трудно читать XML, возвращенный из хранимой процедуры. Я получаю XML, который хочу получить от выполнения процедуры на сервере SQL

Моя хранимая процедура:

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();
}

Читатель продолжает получать значение «none», что я делаю неправильно, помогите, пожалуйста, просто я хочу, чтобы XML был строкой

Надеюсь, вы можете помочь

Спасибо

1 Ответ

0 голосов
/ 10 октября 2018

Вы получаете читателя в результате, но не читаете его:

 using (var xmlReader = cmd.ExecuteXmlReader())
        {
           while(xmlReader.Read())
           {
            string s = xmlReader.ReadOuterXml();      
           }
 }

Но даже это может иметь проблемы, потому что дает вам строку. Эта ссылка может дать более подробную информацию .Может потребоваться работа с XPathDocument, если в результате работы у вас будет отсутствовать информация ReadOuterXml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...