Linq предоставляет доступ к XML через класс XDocument
, который позволяет вам запускать XPath против XML.Хотя он не совсем соответствует стилю вашего идеального XPath, он предоставляет удобный язык запросов для доступа к узлам XML, и ваш тег предполагает, что вас может заинтересовать решение XPath!
Вот пример использования XDocument
для запроса файла XML.Для этого примера я просто прочитал файл из потока.
using System.Xml.Linq;
using System.Xml.XPath;
...
static void Main(string[] args)
{
XDocument doc = XDocument.Load(new FileStream(@"C:\path_to\input.xml", FileMode.Open));
string desrcription = doc.XPathSelectElement("/Response/Outcome/KeyValueOfstringOutcomepQnxSKQu[Key='IconDescription']/Value/Value").Value;
Console.WriteLine(desrcription);
Console.ReadLine();
}