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);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д