Toon posts:

[ASP/XSL] RSS uitlezen geeft ÿþ ervoor

Pagina: 1
Acties:

Verwijderd

Topicstarter
Na het klooien met ASP en RSS feeds uitlezen is het eindelijk gelukt. Het enige probleem is dus nog dat bij elke keer dat ik een feed uitlees er dus ÿþ voor komt te staan. Waarom dit is kan ik niet terugvinden. Na googlen kreeg ik wel een beetje uitleg wat het kan zijn, maar ik snap dus niet hoe ik het op kan lossen. De search op het forum snapte de characters niet helemaal geloof ik.

google: http://fravia.2113.ch/php...1774816&thread=1051774816

Ik denk dat het iets te maken heeft met de getXML(), maar ik kom er gewoonweg niet uit.
Misschien dat jullie er meer van weten.

De site waar je het kan checken.
http://www.student.tue.nl...ermans/slaine.nl/test.asp

De ASP code
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<%
Sub getXML(sourceFile)
     dim styleFile
     dim source, style
     styleFile = Server.MapPath("news.xsl")

     set source = Server.CreateObject("Msxml2.DomDocument")
     source.async = false
     source.setProperty "ServerHTTPRequest", true
     source.load CStr(sourceFile)

     set style = Server.CreateObject("Msxml2.DomDocument")
     style.async = false
     style.load styleFile

     source.transformNodeToObject style, Response
     set source = nothing
     set style = nothing
End Sub
%>

<html>
   <%
getXML("http://www.tweakers.net/feeds/nieuws.xml")
getXML("http://rss.fok.nl/feeds/nieuws")
getXML("http://nu.nl/deeplink_rss2/index.jsp?r=Algemeen ")
getXML("http://www.nforce.nl/rss/rss_11.xml")
getXML("http://www.nforce.nl/rss/rss_2.xml")
getXML("http://www.nforce.nl/rss/rss_6.xml")
%>
</html>


Hier de XSL voor het geval dat daar iets mis kan zijn.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?xml version="1.0" encoding="ISO-8859-1"?><xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/">
    <table border="0" align="left" bordercolor="black" > 
        <tr><td valign="top" align="center" class="title" bgcolor="red" > 
        <a> 
            <xsl:attribute name="href"> 
                <xsl:value-of select="//channel/link"/> 
            </xsl:attribute> 
            <xsl:attribute name="target"> 
                <xsl:text>top</xsl:text> 
            </xsl:attribute>
            <xsl:value-of select="//channel/title" disable-output-escaping="yes"/> 
        </a>
        <xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text> 
        <xsl:value-of select="channel/lastBuildDate"/>
            </td></tr><tr><td valign="top" bgcolor="ghostwhite" class="headlines"> 
                <ul> 
                    <xsl:for-each select="//item[not(position()>5)]">
                    <li> 
                        <a> 
                            <xsl:attribute name="href"> 
                                <xsl:value-of select="link"/> 
                            </xsl:attribute> 
                            <xsl:attribute name="target"> 
                                <xsl:text>top</xsl:text> 
                            </xsl:attribute> 
                            <xsl:value-of select="title" disable-output-escaping="yes"/> 
                        </a>
                    </li> 
                    </xsl:for-each> 
                </ul> 
            </td></tr> 
        </table>
</xsl:template></xsl:stylesheet>


Na drie dagen van blind staren hoop ik dat jullie mij de oplossing kunnen bieden (of iig een schop in de goede richting).

[ Voor 33% gewijzigd door Verwijderd op 25-07-2005 14:25 ]


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 18:54

TeeDee

CQB 241

Kijk eens naar een andere encoding? UTF-8 zou het moeten oplossen.

Edit: hmm, even geprobeerd. Er gebeuren allemaal vreemde dingen met jouw code.

[ Voor 39% gewijzigd door TeeDee op 25-07-2005 13:40 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
Ik heb de encoding op UTF-8 gezet, maar dat maakt weinig verschil. Zie trouwens net de sourcecode en die zit vol met spaties. Hoe dat kan, geen idee.

Ipv die ÿp kreeg ik nu dit bovenaan elk item.
??xml version="1.0" encoding="UTF-16"?>

Als ik dit in mn asp file verander maakt het weinig uit, als ik dit in de xsl verander dan snapt hij er niets meer van.

[ Voor 66% gewijzigd door Verwijderd op 25-07-2005 15:05 ]


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
Die twee "karakters" die je laat zien zijn twee bytes die "toevallig gelijk zijn aan de UTF-16 Byte Order Mark. Een UTF-16 BOM geeft aan wat de endian-ness is van de daaropvolgende UTF-16. Combineer dat met de encoding, en het is duidelijk wat er fout gaat. Je probeert een UTF-16 file te lezen als ISO8859-1 o.i.d.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Verwijderd

Topicstarter
Het probleem is als ik de encoding op UTF-16 zet dan werkt de hele xsl file niet meer.

  • joopst
  • Registratie: Maart 2005
  • Laatst online: 01-10-2024
ik heb op mijn site een xslt met het volgende begin:
code:
1
2
3
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output omit-xml-declaration="yes" encoding="ISO-8859-1" />

dus: de xslt file zelf is in utf-8
en de output doe ik naar iso-nogwat, dan kan ie de 'rare' tekens ook aan.

bij mij hielp dat tegen allemaar rare tekens die kwamen ipv accent grave en accent eguu :)

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
ISO-8859-1 support geen euroteken :) en UTF-8 wel.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

MSalters schreef op maandag 25 juli 2005 @ 20:09:
ISO-8859-1 support geen euroteken :) en UTF-8 wel.
ISO-8859-15 support wel het euroteken ;)

Intentionally left blank

Pagina: 1