Парсинг Xml File

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

cabra

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

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

Rififi

#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"
 
C

cabra

#3
Благодарю за ответ.

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