-
подгружаю значит описание сайта, адрес соответственно и данные из первого item`а, а как получить доступ ко всем остальным?
RSS гружу отсюда:
http://www.saxson.ru/engine/rss.phpxmldocument1.Active := true;
memo1.lines.add ( xmldocument1.DocumentElement.ChildN odes.Nodes
[0].ChildNodes ['description'].Text);
memo1.lines.add ( xmldocument1.DocumentElement.ChildN odes.Nodes
[0].ChildNodes ['link'].Text);
memo1.lines.add ('');
memo1.lines.add (xmldocument1.DocumentElement.ChildN odes.Nodes
[0].ChildNodes['item'].childnodes['title'].text );
memo1.lines.add ( xmldocument1.DocumentElement.ChildN odes.Nodes
[0].ChildNodes ['item'].ChildNodes['link'].text );
memo1.lines.add (xmldocument1.DocumentElement.ChildN odes.Nodes
[0].ChildNodes ['item'].ChildNodes['category'].text );
-
> подгружаю значит описание сайта, адрес соответственно и
> данные из первого item`а, а как получить доступ ко всем
> остальным?
> memo1.lines.add ( xmldocument1.DocumentElement.ChildN odes.
> Nodes[0].ChildNodes ['description'].Text);
Попробуй заменить индекс на другой.
-
Это не проходит, пробовал, только с нулём...
-
чтобы не было мучительно больно, работать надо через библиотеку типов
msxml2_tlb
используя ixmldomdocument2 и xpath
-
+ если результат надо всего лишь засунуть в мемо в читабельном виде, то решение такое:
рисуем файл трансформации *.xsl, в котором формируем текстовое представление информации из рсс. Далее создаем два экземпляра ixmldomdocument.
В первый грузим рсс, во второй грузим наш xsl.
После чего :
memo1.lines.text := xml1.transformnode(xml2);
и фсё.
-
Интересует именно компонент xmldocument. Ведь можно как-то все вершины посмотреть...
-
конечно можно.
начинаешь с рута. перебираешь всех его чайлдов.
у каждого чайлда перебираешь всех его чайлдов, а у тех чайлдов всех их чайлдов. и так до самого дна.
вот так и получишь все узлы.
-
Можно напримере, я не опытный... как с рута начать в моём случае?
-
> Буржуй (22.07.10 21:13) [7]
>
> Можно напримере, я не опытный... как с рута начать в моём
> случае?
Рут - это DocumentElement, а в твоём случае надо начинать с чтения описания/справки.
-
у меня нет описания, поэтому и задаю все эти вопросы и жду сутками ответов. как чайлдов перебрать тогда? если они никак не хотят перебираться? если индекс ставишь больше 0, то list index out of bound выдает.
-
а ты поверь в то, что он аутоф баундс.
тем более что это на самом деле так и есть.
-
нет, ты нормально можешь объяснить как ко всем item`ам доступ получить или нет? ниочем разговоры какие-то, поверь, читай справки, ещё в гугль отправт меня...
-
я тебе уже сказал русским по белому.
начинаешь с рутового узла, перебираешь всех его чайлдов.
у каждого чайлда перебираешь его чайлдов и так далее.
подсказка для танкистов:
в этом твоем конкретном эрэсесе рутовый узел имеет всего одного единственного чайлда.
у рута 1(один) чайлд. больше у рута чайлдов нету.
-
причем этот единственный чайлд не является узлом <item>
-
хсним, как именно перебрать все 'item'... Если ты всё знаешь, то написать строку примера можешь наверное? а то что у рута один child я уже давно понял. В том-то и заключался вопрос, что не получается зделать это: "у каждого чайлда перебираешь его чайлдов ...".
-
Разобрался, надо было чайлдов узла channel перебирать...
-
был бы ты не тормоз, ты бы это понял еще вчера после [6]
-
> Буржуй (23.07.10 07:14) [9]
>
> у меня нет описания
Смени профессию.