Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не выходит получить из xml файла содержимое <item> 
:(
    Опции темы
WhaleMav
Дата 4.3.2011, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 4.3.2011

Репутация: нет
Всего: нет



Приветствую.
Допустим есть иерархия 
Код

<rss>
    <channel>
                   <item>
            <title>Титл</title>
            <wp:post_name>post</wp:post_name>
            <pubDate>Дата</pubDate>
            <content:encoded><![CDATA[Текст]]></content:encoded>
            <wp:post_id>1</wp:post_id>
            <category><![CDATA[Рубрика]]></category>
            <category domain="category" nicename="bez-rubriki"><![CDATA[Рубрики]]></category>
            <wp:post_date>Дата в дром формате</wp:post_date>
            <wp:post_date_gmt>Третий формат даты)))</wp:post_date_gmt>
            <wp:status>publish</wp:status>
            <wp:post_type>post</wp:post_type>
         </item>
    <channel>
  </rss>


Код отлично парсит любую строчку находящуюся между <item></item>, НО сделать так, чтоб брались все строки включая тег <item> не выходит. Подскажите, чего не хватает (про мозг знаю..))

Код

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  ADPLocalFile : TFileName;
  ADPXMLBLOG:string;
  StartItemNode : IXMLNode;
  ANode : IXMLNode;
  STitle, sDesc, sLink : widestring;
begin
  ADPXMLBLOG:=edit7.text;  // адрес файла
if (ADPXMLBLOG<>'') and (ADPXMLBLOG[3]='\') then
 begin
  ADPLocalFile := IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + 'temp.adpheadlines.xml';

  Screen.Cursor:=crHourglass;
  try
    if not DownloadURLFile(ADPXMLBLOG, ADPLocalFile)  then
    begin
      Screen.Cursor:=crDefault;
      Raise Exception.CreateFmt('Unable to connect to the Internet, make sure you are connected!',[]);
      Exit;
    end;

    if not FileExists(ADPLocalFile) then
    begin
      Screen.Cursor:=crDefault;
      raise exception.Create('Can''t locate the *headlines* file?!');
      Exit;
    end;

    lv.Clear;

    XMLDoc.FileName := ADPLocalFile;
    XMLDoc.Active:=True;


    StartItemNode:=XMLDoc.DocumentElement.ChildNodes.First.ChildNodes.FindNode('item');
    ANode := StartItemNode;
    repeat
      STitle := ANode.ChildNodes[edit8.Text].Text; // edit8.Text = например  title. Тогда будет записано в STitle содржимое тега <title>
      sLink := ANode.ChildNodes[edit11.Text].Text;


      //add to list view
      with LV.Items.Add do
      begin
        Caption := STitle;
        SubItems.Add(sLink);
      end;
     ANode := ANode.NextSibling;
     inc(m1);
    until ANode = nil;
    memo1.Lines.Add('Спарсили '+inttostr(m1)+' новости');
  finally
    DeleteFile(ADPLocalFile);
    Screen.Cursor:=crDefault;
  end;
 end;
end;



PM MAIL   Вверх
dvamaster
Дата 10.3.2011, 06:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 559
Регистрация: 30.6.2004
Где: Россия : Курган

Репутация: нет
Всего: 10



Код

XMLDoc.DocumentElement.ChildNodes.First.ChildNodes.FindNode('item');


попробуй заменить на

Код

XMLDoc.ChildNodes.First.ChildNodes.FindNode('item');


работает в XE и 2006


--------------------
Хорошую информацию трудно добыть. Сделать с ней что-нибудь - еще труднее. /L. Skywalker/

Что же я сделал не так? /Король Лир/

Я делаю это для твоего же блага! /Любой родитель и палач/

PKUNZIP.ZIP /неизвестный/
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0415 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.