PDA

Volledige versie bekijken : HTML inlezen vanuit XML [opgelost]


Laiverd
%Europe/Berlin %597 %2005, 15:20
Hmm, ik heb dit al duizend keer gedaan (maar dan wel met FMX 2004 Pro) maar kom er nu met FMX niet uit.
Vanuit xml laad ik een paar HTML tags in, maar de HTML wordt niet gerenderd.

De XML:
<?xml version='1.0' encoding='UTF-8'?>
<data>
<lead>
<![CDATA[
Nieuw!<br><br>blabla<br><br>blabla
]]>
</lead>
</data>

De XML is UTF-8 enocoded opgeslagen. Tot nu heb ik never nooit tekens als '<' en '>' hoeven te encoderen. In het verleden kon ik gewoon de <br> tags en andere binnen de cdata tag gebruiken.

Ik haal de data binnen met:
var data_xml = new XML ()
data_xml.ignoreWhite = true;
data_xml.onLoad = function (success)
{
if (success)
{
lead = this.firstChild.childNodes[0];
debug_txt.htmlText = lead;
} else
{
trace ("Failure loading data")
}
}
data_xml.load (dataFile);
Het textveld debug_txt is welzeker HTML-enabled.

Als ik de waarde van de eerste node gewoon in een variabele zet:
var lead = "Nieuw!<br><br>blabla<br><br>blabla";is er geen probleem en wordt de HTML gewoon gerendered.

Een trace op lead levert me in het eerste geval (als de data uit XML komen) het volgende op:
Nieuw! &lt;br&gt;&lt;br&gt;blabla &lt;br&gt;&lt;br&gt;blabla
In het tweede geval (wannneer lead rechtsreeks wordt gedefinieerd):
Nieuw! <br><br>blabla<br><br>blabla

Wie o wie? Ik zou nu echt niet meer weten waar ik het moet zoeken.

Tnx,
John

Laiverd
%Europe/Berlin %876 %2005, 22:02
;) Lastig he ?! Ben er intussen wel uit; de waarde van een node moet altijd worden opgevraagd met nodeValue en niet alleen met de node aanduiding. Dus i.p.v.
lead = this.firstChild.childNodes[0];liever
lead = this.firstChild.childNodes[0].nodeValue;omdat anders de < en de > ge-escaped worden.
John