XML-parsefout: onjuist gevormd ivm [

Status
Niet open voor verdere reacties.

djemmers

Gebruiker
Lid geworden
7 jul 2006
Berichten
129
hallo

ik genereer via php een xml output.
Code:
<?xml version="1.0"?>
<rss xmlns:java="java" version="2.0">
<channel>
<title>Bouworde vzw - Nieuws</title>
<copyright>Bouworde vzw</copyright>
<language>nl-be</language>
<lastBuildDate>30/05/07</lastBuildDate>
<image>
<url>http://www.bouworde.be/layout/logo.gif</url>
<title>Bouworde vzw</title>
<link>http://www.bouworde.be/</link>
<height>80</height>
<width>240</width>
</image>
<item>
<title><![CDATA[<b>Op bouwkamp naar Spanje</b>]]> </title>
<link>index.php?p=394&frmForm[8]=spanje</link>
<description><![CDATA[We zijn trots dat we eindelijk een kamp hebben in Spanje. Klik snel verder en schrijf je zo snel mogelijk in voor dit ecologisch kamp.]]></description>
</item>
<item>
<title><![CDATA[<b>Extra plaats ZA 7000</b>]]> </title>
<link>index.php?p=394&frmForm[8]=Zuid Afrika</link>
<description><![CDATA[Plettenberg, Zuid-Afrika in augustus.<br />Bel Heleen: 016/25.91.44!]]></description>
</item>
<item>
<title><![CDATA[<b>1 plaats PERU</b>]]> </title>
<link>index.php?p=394&frmForm[8]=Peru</link>
<description><![CDATA[Er een vacante plaats op het project PE 7001. Snel zijn is de boodschap!]]></description>
</item>
<item>
<title><![CDATA[<b>Fondsenwerving: Ideeën</b>]]> </title>
<link>index.php?p=414</link>
<description><![CDATA[Ideeën, activiteiten, tips,...Één plaats: onze promo-pagina!]]></description>
</item>
</channel>
</rss>
en krijg volgende error als ik de file bekijk:

XML-parsefout: onjuist gevormd
Locatie: http://www.bouworde.be/RSS/index.xml
Regelnummer 17, kolom 30:<link>index.php?p=394&frmForm[8]=spanje</link>
met eronder een pijltje dat naar de [ in Form[8] wijst.
dat is dus een link naar een pagina op een website.

Ik neem aan dat ik geen [ in een link mag gebruiken bij xml, maar hoe kan ik dan linken naar die pagina (http://www.bouworde.be/index.php?p=394&frmForm[8]=spanje)?
dat werkt wel in browsers?

alle hulp welkom!

djemmers
 
Inderdaad, alle haakjes < > [ ] zijn verboden in data voor XML.

Maar.....er is wel een oplossing!

Gebruik de unicode omschrijving in plaats van het symbool.

http://www.unicode.org/

Daar kun je alle codes vinden

Groet,

Daan:cool:
 
hmm lukt toch niet
ik vind de unicode versie wel, maar hoe zet ik dat daar dan in ? gewoon die vier cijfers?
bv voor < is dat 005B maar dat lukt niet, moet daar dan nog iets voor en achter ?
 
alle entiteiten/referenties beginnen met een ampersand '&' en eindigen met een puntkomma ';'

XML bevat 5 voorgedefinieerde entiteiten:
Code:
    entiteit       teken
    &amp;          &
      &lt;             <
     &gt;             >
    &quot;           "
   &apos;           '

Voor alle andere tekens dien je, zoals daan zegt, unicode-numerieke referenties te gebruiken. Om deze aan te duiden plaats je nog een '#' na de ampersand (cfr. numeriek..)
Code:
&# 97; (zonder de spatie)           a
Indien je een hexadecimale waarde wil gebruiken voeg je nog een 'x' toe na de &#
Code:
[          [

--Johan
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan