Войти

Показать полную графическую версию : C#, XML не знаю как получить доступ к вложению 3-го уровня


Barit
06-12-2011, 15:14
задача разобрать файл XML выбирая требуемое.
Нормально читаются 2 уровня. Содержимое же переменной list3 (стр.9) равно list2 (стр.6)
ниже упрощенная схемка программы.

1) XmlNode root = xmlDoc.DocumentElement; // получение корневого элемента (уровень 0)
2) {
3) XmlNodeList nodeList = root.ChildNodes; // получение списка дочерних узлов у корневого элемента
4) foreach (XmlNode node in nodeList) // последовательный перебор дочерних элементов (1-го уровня)
5) {
6) XmlNodeList list2 = node.ChildNodes; // получить список дочерних элементов
7) foreach (XmlNode innerNodeF in list2) // последовательный перебор дочерних элементов (2-го уровня)
8) {
9) XmlNodeList list3 = node.ChildNodes; // если ставить эту строку, то считывается то-же что и стр. 6) а надо 3-й уровень

какова методика доступа к вложенным уровням?

RostVY
06-12-2011, 15:41
9) XmlNodeList list3 = node.ChildNodes;
попробовать поменять на
list3 = innerNodeF.ChildNodes;

Barit
06-12-2011, 15:53
:))) сработало, спасибо!

буду вникать дальше.

marat56
27-11-2013, 22:57
А как вставить новую ноду в 3 уровень?

marat56
28-11-2013, 17:11
Разобрался сам...
xmlDoc.Element("level_1").Elements("level_2").Last().Add(new XElement(...
Может кому поиожет.




© OSzone.net 2001-2012