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);
}
}