PDA

Bekijk Volledige Versie : & teken en XML



Elpatri
02/10/07, 16:19
Hey,

Ik heb een vraag, ik moet eigenlijk een & teken gebruiken
in een xml waarde:

<?xml version="1.0" encoding="utf-8"?>
<waarde>blabla&blabla</waarde>

Maar dat mag niet blijkbaar,
is er een manier dat ik dat wel kan doen ?
zonder dat het een <a href=""> moet worden....

az-nzl
02/10/07, 16:59
&amp; zou je probleem moeten oplossen.

Elpatri
03/10/07, 14:11
Nope dat vind ie ook niet goed, zodra ik er een & teken in zet word het niet meer herkend als xml,
en &amp is ook een & teken,....

az-nzl
03/10/07, 14:19
iets in de vorm:

<?xml version="1.0" encoding="utf-8"?>
<waarde>blabla&amp;blabla</waarde>

wordt door de xml parsers hier toch echt als valide XML gezien. vergeet alleen de ; niet :)

bvankuik
03/10/07, 14:23
Nope dat vind ie ook niet goed, zodra ik er een & teken in zet word het niet meer herkend als xml,
en &amp is ook een & teken,....

Welke parser gebruik je? Of als je dat niet weet, welke applicatie?

galious
04/10/07, 09:39
Vreemd dat &amp; niet werkt.

Werkt
<![CDATA[test1 & test2]]>

of


test1 &#38;#38; test2

niet?

Groeten,

Martin

Elpatri
04/10/07, 22:21
Ik lees de xml uit met vb.net applicatie....

daar leest hij een link uit, en in die link zit &bla=bla

ik heb het geprobeer d om het tussen "" te zetten of een <a href=""> maar dat werkt ook niet, en dan is het met het uitlezen weer een probleem.......

bvankuik
05/10/07, 07:54
Als ik je goed begrijp, dan zit er een link in je XML bericht en in die link zit een ampersand die niet gecodeerd is als &amp; ? Dan is het geen valid XML. Quotes enzo gaan je niet helpen, het blijft invalid XML.

Twee oplossingen:
1) Ga naar de bron van de XML en zorg dat deze correcte XML fabriceerd. Dat kan enerzijds door tekens < > en & te escapen en anderzijds door <![CDATA[ ... ]]> tag te gebruiken.
2) Haal de gare XML eerst door een eigen parser heen

Post anders dat hele stuk XML, dan ram ik het hier door m'n Linux commandline parser heen.