Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Переход к определенному узлу в XML-файле [D7]


ArtemT ©   (2013-11-10 12:52:00) 

Здравствуйте, пишу программу в Delphi 7, разбираюсь в принципе работы с XML-файлами. Не могу найти, как осуществлять работу с определенным узлом.К примеру, чтобы перемещаться по дереву файла, нужно писать XmlDocument1.DocumentElement.ChildNodes.First.ChildNodes.First и т.д.
Мне нужно обращаться к конкретному узлу, например <body> или <p>. XML-файл представляет собой файл архива docx. Каким алгоритмом это можно осуществить? Какие команды могут помочь?


ArtemT   (2013-11-10 19:38:00) [1]

Больщое спасибо за статью!


ухты   (2013-11-10 17:47:00) [2]


> в Delphi не реализована нормальная функция поиска и обращения
> к узлу по имени?
xpath надо юзать http://delphi.about.com/od/vclusing/qt/delphi-select-xml-nodes-ixmlnodelist-selectnodes-xpath-xmldom.htm


Inovet   (2013-11-10 17:25:00) [3]

> [4] Inovet ©   (10.11.13 17:24)
> свиоми типами представлены

будут представлены своми типами


Inovet   (2013-11-10 17:24:00) [4]

> [3] Inovet ©   (10.11.13 17:23)

Ну и списки там тоже свиоми типами представлены. Всё унаследовано от базовых, естественно.


Inovet   (2013-11-10 17:23:00) [5]

> [2] ArtemT   (10.11.13 15:58)

Да всё там реализовано. Есть даже генератор классов для документов. Возможно, понадобится доработка напильником. Сгенерируй, и на каждый узел можешь делать по необходимисти свою переменную соответствующего типа.


ArtemT   (2013-11-10 15:58:00) [6]

Спасибо, как раз к этому пришел =) Только оказалосб, что нужны две переменные двух типов IXMLNode и IXMLNodeList. Почему в Delphi не реализована нормальная функция поиска и обращения к узлу по имени? Есть функция FindNode, но, похоже, она работает в пределе одного списка узлов и не работает со всем документом.


Inovet   (2013-11-10 13:46:00) [7]

Сохранаяй родительский узел в переменной, к дочернему обращайся через эту переменную.


Наверх

Титульная страница Поиск, карта сайта Написать письмо