Se si utilizza CDATA, è necessario decodificarlo correttamente (textContent, value e innerHTML sono metodi che NON restituiscono i dati corretti).
diciamo che si utilizza una struttura XML simile a questo:
<response>
<command method="setcontent">
<fieldname>flagOK</fieldname>
<content>479</content>
</command>
<command method="setcontent">
<fieldname>htmlOutput</fieldname>
<content>
<![CDATA[
<tr><td>2013/12/05 02:00 - 2013/12/07 01:59 </td></tr><tr><td width="90">Rastreado</td><td width="60">Placa</td><td width="100">Data hora</td><td width="60" align="right">Km/h</td><td width="40">Direção</td><td width="40">Azimute</td><td>Mapa</td></tr><tr><td>Silverado</td><td align='left'>CQK0052</td><td>05/12/2013 13:55</td><td align='right'>113</td><td align='right'>NE</td><td align='right'>40</td><td><a href="http://maps.google.com/maps?q=-22.6766,-50.2218&iwloc=A&t=h&z=18" target="_blank">-22.6766,-50.2218</a></td></tr><tr><td>Silverado</td><td align='left'>CQK0052</td><td>05/12/2013 13:56</td><td align='right'>112</td><td align='right'>NE</td><td align='right'>23</td><td><a href="http://maps.google.com/maps?q=-22.6638,-50.2106&iwloc=A&t=h&z=18" target="_blank">-22.6638,-50.2106</a></td></tr><tr><td>Silverado</td><td align='left'>CQK0052</td><td>05/12/2013 18:00</td><td align='right'>111</td><td align='right'>SE</td><td align='right'>118</td><td><a href="http://maps.google.com/maps?q=-22.7242,-50.2352&iwloc=A&t=h&z=18" target="_blank">-22.7242,-50.2352</a></td></tr>
]]>
</content>
</command>
</response>
in javascript, allora si avrà decodificare caricando il xml (jquery, per esempio) in una variabile come xmlDoc qui sotto e quindi ottenere la nodeValue per il 2 ° avvenimento (item(1)
) del tag content
xmlDoc.getElementsByTagName("content").item(1).childNodes[0].nodeValue
o (entrambe le notazioni sono equivalenti)
xmlDoc.getElementsByTagName("content")[1].childNodes[0].nodeValue
fonte
2013-12-06 16:26:59
L'unico motivo per cui sceglierei di non usare CDATA, è che di solito la maggior parte dei dati non richiede l'escape, ed è un disastro vedere così tanti wrapper CDATA sul testo che non hanno bisogno di escape.Il primo metodo indica che occasionalmente hai codifiche HTML, ma la maggior parte delle volte hai un testo pulito e senza wrapper non necessario. Naturalmente questo potrebbe essere diverso a seconda dei dati tipici. – AaronLS