Xml поиск по документу - C#

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

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

Сломал мозг уже (и гугл походу тоже) Есть документ формата
Листинг программы
  1. <ButtonForm col="5" row="5">
  2. <MainForm>
  3. <Button0 tag="1" text="1" />
  4. <Button1 tag="1" text="2" />
  5. </MainForm>
  6. <ChildForm1 col="5" row="5">
  7. <Button0 tag="1" text="3" />
  8. <Button1 tag="1" text="2" />
  9. </ChildForm1>
  10. ....
  11. </ButtonForm>
Т.е. есть много элементов, у которых дочерние одинаковы в названиях. Как организовать в коде поиск среди дочерних элементов конкретного, нужно мне элемента. Т.е. если мне нужны атрибуты Button99 дочернего к элементу ChildForm66 Перерыл кучу способов, но нужного так и не нашел. Помогите, пожалуйста.

Решение задачи: «Xml поиск по документу»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Xml.Linq;
  6.  
  7. namespace ConsoleApplication26 {
  8.     class Program {
  9.         static void Main(string[] args) {
  10.             XDocument doc = XDocument.Load(@"C:\test.xml");
  11.             var element = doc.Descendants()
  12.                 .Where(el => el.Name == "ChildForm66")
  13.                 .Elements().Where(el => el.Name == "Button99")
  14.                 .FirstOrDefault();
  15.             if (element != null) {
  16.                 Console.WriteLine("tag: {0}\ntext: {1}",
  17.                     element.Attribute("tag").Value,
  18.                     element.Attribute("text").Value);
  19.             }
  20.             Console.ReadLine();
  21.         }
  22.     }
  23. }

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


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

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

7   голосов , оценка 4.286 из 5

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

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

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