Форум: "Сети";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];
ВнизRSS Найти похожие ветки
← →
StrangerMX (2007-03-26 13:10) [0]Подскажите пожайлуста каким образом можно организовать чтение ленты новостей
← →
Reindeer Moss Eater © (2007-03-26 13:20) [1]прочитать с сервера как и любой другой www ресурс
← →
Rouse_ © (2007-03-27 09:32) [2]... а потом распасить :)
← →
VirEx © (2007-03-27 11:52) [3]http://code.progler.ru/view/243
← →
VirEx © (2007-03-27 12:05) [4]выше пример - программная разборка 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 12:08) [5]а вот пример шаблона:
<?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>
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.032 c