XML binnen een XML element.

Pagina: 1
Acties:

  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Ik heb de volgende situatie:

code:
1
2
3
4
5
<element>
    &lt;elem&gt;
        2 &lt 3
    &lt;/elem&lt;
</element>


Als ik nu de tekst uit element pak en dit laat omzetten dan krijg ik

code:
1
2
3
<elem>
    2 < 3
</elem>


En dit kan vervolgens niet goed geparsed worden omdat het stukje 2 < 3 is illegaal.

Is er een standaard die dit soort problemen oplost?
Dit wordt namelijk gebruikt bij het versturen van soap berichten en de XML zit in de body van het soap bericht.

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line


  • simon
  • Registratie: Maart 2002
  • Laatst online: 15:50
cdata gebruiken? :o

|>


  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Dat zal niet werken want al doe je :

code:
1
2
3
4
5
6
7
<element>
<![CDATA[
&lt;elem&gt;
        2 &lt 3
    &lt;/elem&lt;
]]>
</element>


Dan nog heb je als je de gegevens binnen de CDATA zou omzetten dat er dit staat:

code:
1
2
3
<elem>
    2 < 3
</elem>


En dat kan je weer niet parsen.

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line


Verwijderd

code:
1
2
3
4
5
6
7
<element>
<![CDATA[
&lt;elem&gt;
        2 &lt 3
    &lt;/elem&lt;
]]>
</element>
hij bedoeld

code:
1
2
3
4
5
6
7
<element>

&lt;elem&gt;
    <![CDATA[    2 &lt 3]]>
    &lt;/elem&lt;

</element>

Verwijderd

Codeer je xml bericht eerst naar base64 en stop het dan in de body van je soap aanroep. In principe is namelijk je 'geëmbedde' bericht gewoon binaire data, dat het toevallig xml is, doet er niet zoveel toe. Het simpel in een CDATA element stoppen werkt ook niet, omdat ook in CDATA niet alles is toegestaan.

[ Voor 65% gewijzigd door Verwijderd op 20-11-2004 20:12 ]


  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Mijn excuses. Dat had ik zelf moeten bedenken met de genoemde hint. Dat zou inderdaad wel moeten werken.

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line


Verwijderd

1.) Ik snap niet waarom je XML in XML zet, maar goed...

2.) Kan dit niet?

XML:
1
2
3
4
5
<element>
    &lt;elem&gt;
        2 &amp;lt 3
    &lt;/elem&lt;
</element>

  • Sendy
  • Registratie: September 2001
  • Niet online
Maar waarom is dit niet mogelijk?
code:
1
2
3
4
5
<element>
    <elem>
        2 &lt 3
    <elem>
</element>
En dan niet "omzetten"?

edit:
En Jorgen heeft ook wel een juiste manier: de escape escapen ;)

[ Voor 36% gewijzigd door Sendy op 21-11-2004 01:51 ]

Pagina: 1