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

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

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

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

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

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
 
namespace ConsoleApplication26 {
    class Program {
        static void Main(string[] args) {
            XDocument doc = XDocument.Load(@"C:\test.xml");
            var element = doc.Descendants()
                .Where(el => el.Name == "ChildForm66")
                .Elements().Where(el => el.Name == "Button99")
                .FirstOrDefault();
            if (element != null) {
                Console.WriteLine("tag: {0}\ntext: {1}",
                    element.Attribute("tag").Value,
                    element.Attribute("text").Value);
            }
            Console.ReadLine();
        }
    }
}

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


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

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

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