XML. Поиск узла по известному атрибуту - C#

Узнай цену своей работы

Формулировка задачи:

Хочу вывести определенный Caption в зависимости от ID, как это сделать? Хотя бы в двух словах.
Листинг программы
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Database Name="">
  3. <Attribute Caption="параметр" ID="8,5"/>
  4. <Attribute Caption="параметр" ID="5,5"/>
  5. <Attribute Caption="параметр" ID="5"/>
  6. </Database>

Решение задачи: «XML. Поиск узла по известному атрибуту»

textual
Листинг программы
  1. using System;
  2. using System.Linq;
  3. using System.Xml;
  4. using System.Xml.Linq;
  5. using System.Xml.XPath;
  6.  
  7. class Program
  8. {
  9.     public static void Main()
  10.     {
  11.         string xml = "<?xml version="1.0" encoding="UTF - 8"?>" +
  12.                      "<Database Name = "" >" +
  13.                          "<Attribute Caption="abc" ID="8,5" />" +
  14.                          "<Attribute Caption="def" ID="5,5" />" +
  15.                          "<Attribute Caption="ghi" ID="5" />" +
  16.                      "</Database> ";
  17.  
  18.         //1
  19.         XmlDocument document = new XmlDocument();
  20.         document.LoadXml(xml);
  21.         var node = document.SelectSingleNode("//Attribute[@ID='5,5']");
  22.         Console.WriteLine(node.Attributes["Caption"].Value);
  23.  
  24.         //2
  25.         XDocument document1 = XDocument.Parse(xml);
  26.         var node1 = document1.XPathSelectElement("//Attribute[@ID='8,5']");
  27.         Console.WriteLine(node1.Attribute("Caption").Value);
  28.  
  29.         //3
  30.         var node2 = document1.Descendants("Attribute").First(el => el.Attribute("ID").Value == "5");
  31.         Console.WriteLine(node2.Attribute("Caption").Value);
  32.     }
  33. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.867 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут