2011-12-21 26 views
5

He tomado el control del mantenimiento de una aplicación que usa un analizador stax para descomponer un archivo XML de muchos registros en registros individuales para su posterior procesamiento. Usar este tipo de analizador para este propósito es excesivo en mi opinión, pero no lo escribí.Necesita un evento CDATA notificando el analizador stax para java

La aplicación es ahora encontrarse con datos como este:

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

Nuestro actual del analizador devuelve un evento para la etiqueta de comenzar 'nombre'. El siguiente evento es un evento de personaje con el valor 'A & B'.

Desde la página web de Sun encontré esto:


Reporting CDATA Eventos El javax.xml.stream.XMLStreamReader implementado en la Transmisión Analizador XML no informa de eventos CDATA. Si usted tiene una aplicación que necesita para recibir este tipo de eventos, configurar el XMLInputFactory para establecer la propiedad siguiente informe-CDATA-caso específico de la implementación:

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

El analizador estamos utilizando no soporta el 'informe propiedad -cdata-event '.

Quiero encontrar un analizador que informe tal evento, así que no tengo que verificar cada texto para los caracteres que deben ser protegidos por el constructo CDATA.

ACTUALIZACIÓN:

Después de la publicación de esta hojeé algunas de las preguntas relacionadas y no había mención de la propiedad 'isCoalescing'; para el registro, se establece en FALSE.

Respuesta

Cuestiones relacionadas