Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.07.29;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "Основная";
Текущий архив: 2002.07.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.007 c
1-95445
esprit_bel
2002-07-17 04:53
2002.07.29
Дирректория


3-95270
Vell S
2002-07-09 13:22
2002.07.29
BDE (paradox)


3-95207
Octav
2002-07-05 16:39
2002.07.29
Blob + XML


1-95430
Хмыня
2002-07-16 02:27
2002.07.29
поиск=>StringGrid=>мерцание:((


1-95338
xelax
2002-07-17 14:56
2002.07.29
Вопрос





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский