- Home
- Categorie
- Coding e Sistemistica
- HTML e CSS
- Xml - Inserire una immagine
-
Xml - Inserire una immagine
Salve
vorrei un consiglio.Ho creato un file xml per i feed reader. Ha sempre funzionato
Stavolta voglio inserire il codice che richiama una immagine.Ho creato questo xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="0.91">
<channel>
<item>
<title>titolo primo articolo</title>
<link>ww.miosito.it/articolo.asp</link>
<pubDate>10/30/2010</pubDate>
<author>miosito</author>
<description><p>Breve riassunto dell'articolo</p></description>
<image><title>Banner</title>
<url>ww.miosito/immagini/immagine.gif</url>
<link>ww.miosito.it/pagina.asp</link>
<width>400</width>
<height>100</height></image>
</item><item>
segue secondo articolo
</item>Non necessariamente il link all'articolo e il link dell'immagine devono essere uguali. Qui li ho diversificati.
L'immagine non si vede. Uso feedreader.
Dove ho sbagliato? Quale sarebbe la compilazione correttaGrazie anticipate
Flasini
-
Ciao!
Ho anche io lo stesso problema...e sto facendo un pò di ricerche :x, quindi non ho la soluzione per te! Se nel frattempo l'hai trovata fammi sapere se puoi! Grazie!
Il tag "image" penso sia per inserire un immagine al feed, cioè nell'elemento channelTorno a cercare la soluzione...
-
ciao
ok grazie
Anch'io se trovo la soluzione ti avvertoDovrei inserire una immagine al feed. In modo che il lettore oltre al link abbia anche una immagine (non necessariamente con link all'articolo)
Flasini
-
Ciao!
Al momento ho trovato questa soluzione, te la indico se può esserti utile!
Ho usato, al posto del tag "description" il tag "content:encoded" che consente di inserire html e quindi anche tag <img> con o senza link.
Esempiocontent:encoded
<div><div style="float:left; margin-bottom:0.5em; margin-right:1em; margin-top: 4px;"><a style="text-decoration: none;" href="link_to_point"><img style="border: none;" width="120" height="130" src="link_to_image"/></a></div><a style="text-decoration: none;" href="link_to_point"><p style="float: bottom;">Tuo testo</p></a></div>
</content:encoded>Per la compatibilità con la maggior part dei feed reader è consigliabile inserire anche il tag <description>: mi sembra che i reader prendano l'ultimo che interpretano!
Spero di esserti stata utile!
A presto
-
In realtà penso che il sistema più semplice sia inserire l'HTML che si desidera all'interno del tag <description>, solo con le entità escaped (quindi "<" diventa "<" etc.)
Ad esempio una cosa del genere dovrebbe funzionare:
<description><img src="/url-immagine" /></description>Altro metodo è usare CDATA, così:
<description><![CDATA[<img src="/url-immagine">]]></description>Fermo restando che:
- a mio modo di vedere non è una buona idea inserire dell'HTML in un file RSS
- perchè non usate RSS versione 2.0 invece della 0.91 (moooolto vecchia) ?
Ciaooo!
-
A pensarci bene probabilmente la soluzione migliore è avere entrambi i campi, ovvero <description> con un testo il più possibile "pulito" e poi un content:encoded con dentro un CDATA contenente l'HTML che si vuole mostrare - cioè una cosa tipo
[html]content:encoded
<![CDATA[<p><img src="immagine"><strong>altro html</strong> che voglio inserire, anche un <a href="">link</a></p>]]>
</content:encoded>[/html]
-
Ciao Html5Today!
Grazie per le dritte, la seconda soluzione che hai postato è anche quella che avevo adottato! Comunque concordo con te: inserire html in un rss non lo trovo pulitissimo.Una cosa che non mi è chiara...da dove deduci che uso la versione 0.91? Mi sembra di star usando la 2.0...:?...ti riferisci a flasini?
Grazie mille per la tua risposta!
-
Sì mi riferivo a flasini, non mi pare che tu abbia postato una URL o un pezzo completo del tuo feed...
Ciaooo!
-
Già!
Visto che ci siamo questa è la URL del mio feed:
<?xml version="1.0" ?><rss version="2.0" xmlns:content="***://purl.org/rss/1.0/modules/content/">
Corretta?
Grazie ancora!
-
Direi di sì - poi in realtà basta che il feed sia valido...
-
Grazie...da una newbie
-
ciao
grazie per i vostri postUso il feed 0.91 solo perchè è quello che uso da tempo.
Vado a leggere il link che hai postato nell'altro mio post
Una cosa sola.. Tra il 0.91 e il 2.0 c'è molta differenza?Usando il cdata risolverei?
grazie
Flasini
-
ciao
con i tuoi consigli ho risolto se parliamo di come viene visto dal mio feed reader.
Grazie
Ho dovuto mettere il content:encoded all'interno della description. Ossia dove metto un abstract della notizia. Quindi ho risoltoSe lo metto in validazione mi da degli errori.
'' XML parsing error: <unknown>:12:2: unbound prefix
content:encoded
^e poi
In addition, interoperability with the widest range of feed readers could be improved by implementing the following recommendation.
Your feed appears to be encoded as "iso-8859-1", but your server is reporting "US-ASCII"
''Non so, ho inserito queste informazioni
<?xml version="1.0" encoding="iso-8859-1"?> <rss version="2.0" xmlns:atom="**://***.w3.org/2005/Atom">
se tolgo encoding non cambia molto.
Dove posso aver sbagliato?
Grazie ancora
Flasini
-
Uhm... puoi postare la URL del tuo feed così lo possiamo analizzare meglio?
-
ciao
grazie ancoraNon credo posso postare l'url.
Posto se vuoi il codice
<?xml version="1.0"?> <rss version="2.0" xmlns:atom="**://***.w3.org/2005/Atom"> <channel> <title>Miosito: Gli Rss</title> <link>**://***.miosito.it</link> <description>Gli Rss di Miosito.</description> <atom:link href=**://***.miosito.it/rss.xml rel="self" type="application/rss+xml" /> <item> <title>Titolo 1</title> <link>**://***.miosito.it/articolo.asp?news=1</link> <description>descrizione 1 <content:encoded> <![CDATA[<p><img src="**://***.miosito.it/immagini/immagine1.jpg"><strong>Miosito</strong> leggi <a href="**://***.miosito.it/pagina1.asp"> pagina1</a></p>]]> </content:encoded></description> </item> <item> <title>Titolo 2</title> <link>**://***.miosito.it/articolo.asp?news=2</link> <description>descrizione 2 <content:encoded> <![CDATA[<p><img src="**://***.miosito.it/immagini/immagine2.jpg"><strong>Miosito</strong> leggi <a href="**://***.miosito.it/pagina2.asp"> pagina2</a></p>]]> </content:encoded></description> </item> </channel> </rss>
Non so se è abbastanza chiaro come l'ho riportato.
Flasini
-
@flasini said:
> <item> <title>Titolo 1</title> <link>**://***.miosito.it/articolo.asp?news=1</link> <description>descrizione 1 <content:encoded> <![CDATA[<p><img src="**://***.miosito.it/immagini/immagine1.jpg"><strong>Miosito</strong> leggi <a href="**://***.miosito.it/pagina1.asp"> pagina1</a></p>]]> </content:encoded></description> </item> >``` Credo che il primo errore sia nella chiusura del tag description: il tag content-encoded non deve essere contenuto all'interno del tag description, ma prima o dopo di esso. Una versione corretta sarebbe:
<item>
<title>Titolo 1</title>
<link>://.miosito.it/articolo.asp?news=1</link>
<description>descrizione 1</description>
content:encoded
<![CDATA[<p><img src="://.miosito.it/immagini/immagine1.jpg"><strong>Miosito</strong> leggi <a href="://***.miosito.it/pagina1.asp"> pagina1</a></p>]]>
</content:encoded>
</item>Per il secondo avviso, recommendation, prova una ricerca su google, io ho trovato suggerimenti che potrebbero fare al caso tuo. Magari togli l'encoding e lascia valere quello che invii con l'header http. Prendi tutto con le pinze, perchè sono tutt'altro che esperta :D
-
@flasini said:
[...]
> <?xml version="1.0"?> <rss version="2.0" xmlns:atom="**://***.w3.org/2005/Atom"> <channel> <title>Miosito: Gli Rss</title> <link>**://***.miosito.it</link> <description>Gli Rss di Miosito.</description> <atom:link href=**://***.miosito.it/rss.xml rel="self" type="application/rss+xml" /> <item> <title>Titolo 1</title> <link>**://***.miosito.it/articolo.asp?news=1</link> <description>descrizione 1 <content:encoded> <![CDATA[<p><img src="**://***.miosito.it/immagini/immagine1.jpg"><strong>Miosito</strong> leggi <a href="**://***.miosito.it/pagina1.asp"> pagina1</a></p>]]> </content:encoded></description> </item> [...] </channel> </rss> >```[...] Esatto, <content:encoded> va inserito fuori dalla <description> (di solito è lo stesso testo ma in HTML, mentre <description> è in plain text). Prova una cosa del genere:
<?xml version="1.0"?>
<rss version="2.0" xmlns:atom="://.w3.org/2005/Atom">
<channel>
<title>Miosito: Gli Rss</title>
<link>://.miosito.it</link>
<description>Gli Rss di Miosito.</description>
<atom:link href=://.miosito.it/rss.xml rel="self" type="application/rss+xml" />
<item>
<title>Titolo 1</title>
<link>://**.miosito.it/articolo.asp?news=1</link>
<description>descrizione in testo semplice (NO HTML!)</description>
content:encoded
descrizione in HTML anche con <a href="url">link</a> e tutto il resto
</content:encoded>
</item>[...]
</channel>
</rss>
-
ciao
provo e vi faccio sapereThx
Flasini
-
Mi aggiungo alla conversazione. Innanzi tutto, grazie! Ho risolto il mio problema di inserimento immagine nel feed. Ora vi chiedo: come faccio a posizionarla a sinistra?? Ho provato con style="float: left" ma non funziona.
Ciao
-
Prova con un
[HTML]<img src="immagine" align="left" />[/HTML]HTH, ciao!