Конференция "Сети" » Работа с XMLDOCUMENT [D7, WinXP]
 
  • Буржуй (22.07.10 15:05) [0]
    подгружаю значит описание сайта, адрес соответственно и данные из первого item`а, а как получить доступ ко всем остальным?
    RSS гружу отсюда: http://www.saxson.ru/engine/rss.php

    xmldocument1.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 );
  • Плохиш © (22.07.10 16:24) [1]

    > подгружаю значит описание сайта, адрес соответственно и
    > данные из первого item`а, а как получить доступ ко всем
    > остальным?


    > memo1.lines.add ( xmldocument1.DocumentElement.ChildN odes.
    > Nodes[0].ChildNodes ['description'].Text);

    Попробуй заменить индекс на другой.
  • Буржуй (22.07.10 16:37) [2]
    Это не проходит, пробовал, только с нулём...
  • Медвежонок Пятачок © (22.07.10 17:20) [3]
    чтобы не было мучительно больно, работать надо через библиотеку типов
    msxml2_tlb

    используя ixmldomdocument2 и xpath
  • Медвежонок Пятачок © (22.07.10 17:25) [4]
    + если результат надо всего лишь засунуть в мемо в читабельном виде, то решение такое:

    рисуем файл трансформации *.xsl, в котором формируем текстовое представление информации из рсс. Далее создаем два экземпляра ixmldomdocument.
    В первый грузим рсс, во второй грузим наш xsl.
    После чего :

    memo1.lines.text := xml1.transformnode(xml2);

    и фсё.
  • Буржуй (22.07.10 19:37) [5]
    Интересует именно компонент xmldocument. Ведь можно как-то все вершины посмотреть...
  • Медвежонок Пятачок © (22.07.10 20:34) [6]
    конечно можно.
    начинаешь с рута. перебираешь всех его чайлдов.
    у каждого чайлда перебираешь всех его чайлдов, а у тех чайлдов всех их чайлдов. и так до самого дна.
    вот так и получишь все узлы.
  • Буржуй (22.07.10 21:13) [7]
    Можно напримере, я не опытный... как с рута начать в моём случае?
  • Плохиш © (22.07.10 22:49) [8]

    > Буржуй   (22.07.10 21:13) [7]
    >
    > Можно напримере, я не опытный... как с рута начать в моём
    > случае?

    Рут - это DocumentElement, а в твоём случае надо начинать с чтения описания/справки.
  • Буржуй (23.07.10 07:14) [9]
    у меня нет описания, поэтому и задаю все эти вопросы и жду сутками ответов.  как чайлдов перебрать тогда? если они никак не хотят перебираться? если индекс ставишь больше 0, то list index out of bound выдает.
  • Медвежонок Пятачок © (23.07.10 09:18) [10]
    а ты поверь в то, что он аутоф баундс.
    тем более что это на самом деле так и есть.
  • Буржуй (23.07.10 09:44) [11]
    нет, ты нормально можешь объяснить как ко всем item`ам доступ получить или нет? ниочем разговоры какие-то, поверь, читай справки, ещё в гугль отправт меня...
  • Медвежонок Пятачок © (23.07.10 10:11) [12]
    я тебе уже сказал русским по белому.
    начинаешь с рутового узла, перебираешь всех его чайлдов.
    у каждого чайлда перебираешь его чайлдов и так далее.

    подсказка для танкистов:
    в этом твоем конкретном эрэсесе рутовый узел имеет всего одного единственного чайлда.

    у рута 1(один) чайлд. больше у рута чайлдов нету.
  • Медвежонок Пятачок © (23.07.10 10:21) [13]
    причем этот единственный чайлд не является узлом <item>
  • Буржуй (23.07.10 10:26) [14]
    хсним, как именно перебрать все 'item'... Если ты всё знаешь, то написать строку примера можешь наверное? а то что у рута один child я уже давно понял. В том-то и заключался вопрос, что не получается зделать это: "у каждого чайлда перебираешь его чайлдов ...".
  • Буржуй (23.07.10 11:10) [15]
    Разобрался, надо было чайлдов узла channel перебирать...
  • Медвежонок Пятачок © (23.07.10 11:19) [16]
    был бы ты не тормоз, ты бы это понял еще вчера после [6]
  • Плохиш © (23.07.10 11:27) [17]

    > Буржуй   (23.07.10 07:14) [9]
    >
    > у меня нет описания

    Смени профессию.
 
Конференция "Сети" » Работа с XMLDOCUMENT [D7, WinXP]
Есть новые Нет новых   [134436   +25][b:0][p:0.001]