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