Xml структура - C#

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

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

Всем добрый вечер. Есть программа по сравнению 2 xml документов неизвестной структуры(но при этом структура одинакова, различаются лишь значения в полях и атрибутах). Задача сравнить эти 2 документа по некоторым алгоритмам. Алгоритм готов, вся программа до некоторого уровня функционирует, но на больших Xml столкнулся с проблемой. Вопрос: Кто знает, подскажите, пожалуйста, как собрать в одну коллекцию(не важно какую) все поля и атрибуты xml документа с неизвестной структурой? На этом моменте встал, и ничего толком так и не придумал. Из предположений: 1)Рекурсивный обход(как дерева) 2)Итеративный обход через проверку "младших" детей Но всё как-то не доделать. Перечитал множество информации, но вся она нацелена на известные теги, и далее уже куча способов, но здесь структура заранее неизвестна, и грамотного решения не придумать никак Заранее, спасибо!

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

textual
Листинг программы
private void GetAllNodes()
{
    XmlDocument doc = new XmlDocument();
    doc.Load("filename.xml");
    XmlNodeList childNodes = doc.DocumentElement.ChildNodes;
 
    foreach (XmlNode childNode in childNodes)
        GetNodeRecursive(childNode);
}
 
private void GetNodeRecursive(XmlNode childNode)
{
    foreach (XmlNode chn in childNode.ChildNodes)
    {
        // тут получаете все, что вам надо от ChildNode
        GetNodeRecursive(chn);
    }
}

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


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

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

11   голосов , оценка 3.909 из 5
Похожие ответы