2011-12-21 14 views
5

Ho preso in carico la manutenzione di un'applicazione che utilizza un parser stax per suddividere un file XML di molti record in singoli record per un'ulteriore elaborazione. Usare questo tipo di parser per questo scopo è eccessivo secondo me, ma non l'ho scritto.È necessario un evento CDATA che notifica il parser stax per java

L'applicazione è ora incontrando i dati di questo tipo:

<name><![CDATA[A & B]]></name> 

nostro parser corrente restituisce un evento per il tag iniziare 'nome'. L'evento successivo è un evento carattere con il valore 'A & B'.

Dalla pagina web di Sun ho trovato questo:


reporting CDATA Eventi Il javax.xml.stream.XMLStreamReader implementato in Streaming XML Parser non segnala eventi CDATA. Se si dispone di un'applicazione che ha bisogno di ricevere tali eventi, configurare il XMLInputFactory per impostare la seguente proprietà rapporto-cdata-evento specifico dell'implementazione:

XMLInputFactory factory = XMLInptuFactory.newInstance(); 
factory.setProperty("report-cdata-event", Boolean.TRUE); 

Il parser che stiamo usando non supporta il 'rapporto -cdata-event 'proprietà.

Desidero trovare un parser che riporti un evento di questo tipo, quindi non devo controllare ogni singolo testo per i caratteri che devono essere protetti dal costrutto CDATA.

UPDATE:

Dopo aver postato questo ho passato in rassegna alcune delle domande relative e c'era menzione dei beni del 'isCoalescing'; per la cronologia è impostato su FALSE.

risposta

Problemi correlati