Ответы пользователя по тегу LINQ
  • [LINQ TO XML] Как получить все элементы из документа?

    @Teacher
    Вот демо пример, который обходит все дерево и выводит названия элементов на экран.
    class Program
    {
        static void Main(string[] args)
        {
            List<XElement> elements = GetElementsFromFile(@"ConsoleApplication35.exe.config");
            foreach (var item in elements)
            {
                Console.WriteLine(item.Name);
            }
            Console.ReadKey();
        }
    
        public static List<XElement> GetElementsFromFile(string p_fileName)
        {
            List<XElement> list = new List<XElement>();
            BuildElementList(XElement.Load(p_fileName).Elements(), list);
            return list;
        }
    
        private static void BuildElementList(IEnumerable<XElement> p_elements, List<XElement> p_list)
        {
            foreach (var item in p_elements)
            {
                p_list.Add(item);
                var children = item.Elements();
                if (children.Any())
                {
                    BuildElementList(children, p_list);
                }
            }
        }
    }
    Ответ написан
    Комментировать
  • [LINQ TO XML] Как получить все элементы из документа?

    @Teacher
    Добрый день.
    Если вы хотите получить все элементы, включая вложенные, как один список, то вам придется рекурсивно обходить все дерево. Т.е. заводите, например List и начинаете обходить все элементы добавляя их в этот List. Добавили? Запускаем на их детках тот же самый алгоритм.
    Ответ написан
    Комментировать