Парсинг Xml File

  • Автор темы Автор темы cabra
  • Дата начала Дата начала
C

cabra

Задача:
Имеется набор файлов(директория с файлами).
1.Программа открывает директорию
2. Загружает все файлы, предположительно, в массив.
3. для каждого файла.
3.1 Создает хмл документ.
3.2 Проходит по всем нодам(тут вероятно требуется рекурсивная функция).
3.2.1 Если нод имеет аттрибут, то получить 2 аттрибута и сделать запись в файл/БД не суть.
Может есть уже что-то готовое или какой-то готовый парсер, а то предлагается везде использовать стандартный, а времени сейчас особо много нет.

Благодарен за любую помощь.
 
cabra

1.Программа открывает директорию

гоогле DirectoryInfo

2. Загружает все файлы, предположительно, в массив.

гоогле C# List<>

3. для каждого файла.
3.1 Создает хмл документ.


гоогле C# XmlDocument, C# XDocument

3.2 Проходит по всем нодам(тут вероятно требуется рекурсивная функция).

зависит от структуры файла. в общем случае использовать DOM и/или XPath

3.2.1 Если нод имеет аттрибут, то получить 2 аттрибута и сделать запись в файл/БД не суть.

гоогле System.IO, System.Data, "c# how to save into text file"
 
Благодарю за ответ.

3.2 Проходит по всем нодам(тут вероятно требуется рекурсивная функция).

зависит от структуры файла. в общем случае использовать DOM и/или XPath

Структура примерно такая:

Код:
<section>
<sub section 1 />
<sub section 2>
<sub sub section 3 /> <- Закрытый
<sub sub section 4> < - Имеет чайлдов
<sub sub section properties></properties>
<sub sub section 4/>
</sub section 2>

</section>

То есть в идеале мне нужна функция что-то вроде этого:
Код:
foreach(Node node:getAllNodes){
if node.hasattribute(){
write_to_file(other attribute 1, other attribute 2);
}
}
 
Если кому интересно, вот что поулчилось:

 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!