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

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

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

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

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

textual
Листинг программы
using System;
using System.Linq;
using System.Xml;
using System.Xml.Linq;
using System.Xml.XPath;
 
class Program
{
    public static void Main()
    {
        string xml = "<?xml version="1.0" encoding="UTF - 8"?>" +
                     "<Database Name = "" >" +
                         "<Attribute Caption="abc" ID="8,5" />" +
                         "<Attribute Caption="def" ID="5,5" />" +
                         "<Attribute Caption="ghi" ID="5" />" +
                     "</Database> ";
 
        //1
        XmlDocument document = new XmlDocument();
        document.LoadXml(xml);
        var node = document.SelectSingleNode("//Attribute[@ID='5,5']");
        Console.WriteLine(node.Attributes["Caption"].Value);
 
        //2
        XDocument document1 = XDocument.Parse(xml);
        var node1 = document1.XPathSelectElement("//Attribute[@ID='8,5']");
        Console.WriteLine(node1.Attribute("Caption").Value);
 
        //3
        var node2 = document1.Descendants("Attribute").First(el => el.Attribute("ID").Value == "5");
        Console.WriteLine(node2.Attribute("Caption").Value);
    }
}

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


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

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

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