Распарсить Xml ответ от сервера

231
27 ноября 2018, 01:50

От сервера приходит ответ

<?xml version="1.0"?> 
<recognitionResults success="1"> 
<variant confidence="0">привет как дела</variant> 
</recognitionResults>

нужно на c# получить "привет как дела"

Answer 1

Предпочтительней будет использовать XPath для поиска нужного тега, а не обращаться по индексу, ибо если xml измениться, то и теги по преждним индексам будут другими.

string xml = "<?xml version=\"1.0\"?>" +
    "<recognitionResults success=\"1\">" +
    "<variant confidence=\"0\">привет как дела</variant>" +
    "</recognitionResults>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
string result = doc.DocumentElement.SelectSingleNode(".//variant").InnerText;
Answer 2
using System;
using System.Xml;
XmlDocument doc = new XmlDocument();
doc.Load("Путь тут");
string result = doc.DocumentElement.ChildNodes[0].InnerText;

Здесь мы создаем экземпляр класса XmlDocument для использования его методов. Сначала загружаем файл для дальнейшей работы с ним. После мы в переменную выводим текстовое значение дочерного узла по индексу 0 корневого элемента.

Answer 3

using System.Xml.Linq;

string xml = "<?xml version=\"1.0\"?>" +
                        "<recognitionResults success=\"1\">" +
                        "<variant confidence=\"0\">привет как дела</variant>" +
                        "</recognitionResults>";
XDocument doc = XDocument.Parse(xml);
var result = doc.Root.Elements().First().Value;
READ ALSO
Работа с Photoshop из программы

Работа с Photoshop из программы

Задача такая: есть PSD файл, в нём есть шаблон с текстом и фото, их нужно изменитьТ

161
Синтаксис при подключении src=&lt;%= на NetCore

Синтаксис при подключении src=<%= на NetCore

подскажите как подключить данный плагин на языке Net Core?

134
Как в хеш-таблице указать несколько значений к одному ключу? C#

Как в хеш-таблице указать несколько значений к одному ключу? C#

Читаю книгу "Грокаем Алгоритмы" - Адитьи Бхаргавы

168
Создание столбца в DataGrid wpf/c#

Создание столбца в DataGrid wpf/c#

Как создать столбец между двумя другими? Через c#

151