![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Переход к определенному узлу в 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]Сохранаяй родительский узел в переменной, к дочернему обращайся через эту переменную.