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