Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Архив1 / doc200 / Отчет (4)

.doc
Скачиваний:
18
Добавлен:
01.08.2013
Размер:
39.94 Кб
Скачать

ОПрямая соединительная линия 2тчет по лабораторной работе №1

по предмету «Информационные системы»

на тему: «Работа с XML-документом».

ВПрямая соединительная линия 1ыполнил: студент группы №269

Кузин Иван.

24.11.2012

Описание типа документа:

<!DOCTYPE rss [

<!ELEMENT rss(channel)>

<!ATTLIST rss version CDATA #REQUIRED>

<!ELEMENT channel(title,link,image?,item+)>

<!ELEMENT title(#PCDATA)>

<!ELEMENT link(#PCDATA)>

<!ELEMENT image(url,title,link,width,height)>

<!ELEMENT url(#PCDATA)>

<!ELEMENT title(#PCDATA)>

<!ELEMENT link(#PCDATA)>

<!ELEMENT width(#PCDATA)>

<!ELEMENT height(#PCDATA)>

<!ELEMENT item(title,link,description,pubDate,category)>

<!ELEMENT title(#PCDATA)>

<!ELEMENT link(#PCDATA)>

<!ELEMENT description(#PCDATA)>

<!ELEMENT pubDate(#PCDATA)>

<!ELEMENT category(#PCDATA)>

]>

Текст программы. Импорт новостей

procedure Import;

var

rss:IXMLRssType;

i:integer;

begin

if open.Execute then

begin

rss := dtd.Loadrss(open.FileName);

for i:=0 to rss.Channel.Item.Count-1 do

begin

table.Insert;

table.FieldByName('title').Value := rss.Channel.Item.Items[i].Title;

table.FieldByName('link').Value := rss.Channel.Item.Items[i].Link;

table.FieldByName('pubDate').Value := rss.Channel.Item.Items[i].PubDate;

table.FieldByName('description').Value :=

rss.Channel.Item.Items[i].description;

table.FieldByName('category').Value := rss.Channel.Item.Items[i].category;

end;

end;

end;

Экспорт новостей

procedure Export;

var

rss:IXMLRssType;

item:IXMLItemType;

i:integer;

begin

if save.Execute then

begin

rss := dtd.Newrss;

rss.version := '2.0';

rss.Channel.Title := 'Lenta.ru: Iiainoe';

rss.Channel.Link := 'http://lenta.ru/';

rss.Channel.Image.Url := 'http://img.lenta.ru/i/lentaru88x31-1.gif';

rss.Channel.Image.Title := 'Ежедневная интернет-газета. Новости со всего мира на русском языке';

rss.Channel.Image.Link := 'http://lenta.ru/';

rss.Channel.Image.Width := '88';

rss.Channel.Image.Height := '31';

table.First;

for i:=0 to table.RecordCount-1 do

begin

table.Next;

item := rss.Channel.Item.Add;

item.Title := table.FieldByName('title').Value;

item.Link := table.FieldByName('link').Value;

item.PubDate := table.FieldByName('pubDate').Value;

item.Description := table.FieldByName('description').Value;

item.Category := table.FieldByName('category').Value;

end;

xml.Version := '1.0';

xml.Encoding := 'windows-1251';

xml.DocumentElement := rss.CloneNode(true);

xml.SaveToFile(save.FileName);

end;

end.

Соседние файлы в папке doc200