Отчет по лабораторной работе №1
по предмету «Информационные системы»
на тему: «Работа с XML-документом».
Выполнил: студент группы №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.