![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
RSS
StrangerMX © (2007-03-26 13:10:00)Подскажите пожайлуста каким образом можно организовать чтение ленты новостей
VirEx (2007-03-27 12:08:00) [1]а вот пример шаблона:
<?xml version='1.0' encoding='windows-1251'?>
<xsl:stylesheet version="4.0" xmlns:xsl=" http://www.w3.org/1999/XSL/Transform" xmlns=" http://www.w3.org/TR/xhtml1/strict">
<xsl:output method ="html" />
<xsl:template match="/">
<HTML xmlns=" http://www.w3.org/TR/xhtml1/strict">
<HEAD>
<META http-equiv="Content-Type" content="text-html; charset=windows-1251" />
</HEAD>
<!-- делаем верхнюю таблицу для заголовка -->
<TABLE style="WIDTH: 754px; HEIGHT: 83px" cellSpacing="1" cellPadding="1" width="754" align="top" border="0">
<TBODY>
<TR>
<Td align="left" bgColor="#d6ba98">
<font face="Tahoma" size="2">
<center> <xsl:value-of select="//channel/title" /></center>
<xsl:value-of select="//channel/description" /><br></br>
<small><xsl:value-of select="//channel/link" /></small>
</font>
</Td>
</TR>
</TBODY>
</TABLE>
<!-- делаем таблицу для элементов, строки для которых будут автоматически генерироваться XLS'ом -->
<TABLE style="WIDTH: 754px; HEIGHT: 83px" cellSpacing="3" cellPadding="3" width="754" align="top" border="0">
<TBODY>
<!-- проходимся по всем элементам item-->
<xsl:for-each select="//channel/item">
<TR>
<TD align="left" bgColor="#ede1d3">
<font face="Tahoma" size="2">
<a href="{link}" title="{link}"><xsl:value-of select="title"/></a><br />
<xsl:value-of select="description" disable-output-escaping = "yes" />
</font>
</TD>
</TR>
</xsl:for-each>
<TR>
<TD align="left" bgColor="#e1cdb3">
</TD>
</TR>
</TBODY>
</TABLE>
</HTML>
</xsl:template>
</xsl:stylesheet>
VirEx (2007-03-27 12:05:00) [2]выше пример - программная разборка XML, а лучше всего иметь несколько XSL шаблонов для оформления новостей:
uses
comobj,....;
function CreateHTML(URL,XSLFileName):string;
var
XMLDoc,XSLDoc:Variant;
XMLIsLoad,XSLIsLoad:Boolean;
begin
Result:='';
CoInitialize(nil);
try
//загружаем RSS
XMLDoc:=CreateOleObject('Microsoft.XMLDOM');
XMLDoc.async:=false;
XMLDoc.validateOnParse:=false; //избавляемся от ошибок если в rss есть <!DOCTYPE
XMLIsLoad:= XMLDoc.load(URL);
XMLDoc.save(RSSxml);//сохраняем XML файл (RSS новости) для тех кто захочет изменить шаблон по своему вкусу...
//загружаем шаблон XSL
XSLDoc:=CreateOleObject('Microsoft.XMLDOM');
XSLDoc.async:=false;
XSLDoc.validateOnParse:=false;
XSLIsLoad:=XSLDoc.Load(XSLFileName);
//применяем шаблон к XML документу
//получаем красиво оформленный HTML код
Result:=string(XMLDoc.transformNode(XSLDoc));
except
end;
CoUninitialize;
end;
VirEx (2007-03-27 11:52:00) [3]http://code.progler.ru/view/243
Rouse_ (2007-03-27 09:32:00) [4]... а потом распасить :)
Reindeer Moss Eater (2007-03-26 13:20:00) [5]прочитать с сервера как и любой другой www ресурс