Вниз
Скачать: CL | DM;

XML разбор   Найти похожие ветки 

 
StarCon   (2002-07-17 12:27) [0]

Используется компонент дельфи6 XMLDocument
делаю перебор нодов, вывожу результат:
Memo1.Lines.Add(XML.ChildNodes[i].NodeName)
вот результат:
document
#text
form_101050100005
#text
page_101050100005
#text
rnn
#text
#text
что за "#text"? как от этого избавиться?
если использую
Memo1.Lines.Add(XML.ChildNodes[i].Text)
чтобы посмотреть значение нода, то опять лажа:
значения идут с символами след.строки (причем по нескольку штук)

Все что мне надо - это сделать разбор ХМЛ и получить список нодов и их значений. Может быть есть у кого подходящий пример или посоветуете какие-нибудь компоненты нормальные использовать?


 
a.verichev   (2002-07-17 13:23) [1]

все эти #text это служебные ноды (так сказать - структура xml такая). дабы получить значение ноды, надо проверить, а имеет ли оно child (что то вроде hasChilds)... если не имеет, то брать что надо (имя, значение).


 
StarCon   (2002-07-17 14:37) [2]

if not AChilds[i].HasChildNodes
then Memo1.Lines.Add(AChilds[i].Text)
else Memo1.Lines.Add(AChilds[i].NodeName);
вроде работает, а что делать с символами перевода строки?
неужели придется вырезать с помощью COPY?




 
Сатир   (2002-07-17 16:47) [3]

есть разные типы нодов и нужно проверять их тип перед тем как приступать к дальнейшей обработке (в основном, это извлечение аттрибутов и текста), поэтому нужно проверять тып ноды.
с родным дельфийским парсером я не работал, но предполагаю, что у его парсера должно быть публичное свойство типа NodeType



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.013 c
14-95562
Frags
2002-07-01 20:33
2002.07.29
Правда что XP жесткие диски валит?


14-95566
Извращенец
2002-06-28 16:57
2002.07.29
Музика для игры типа Энигматики


3-95245
Arkady
2002-07-09 10:50
2002.07.29
Документация по InterBase


3-95244
Alek_1
2002-07-06 02:27
2002.07.29
От BDE к ADO


1-95390
Evgeny
2002-07-16 09:36
2002.07.29
Type to Str




   Наверх