Categorías
StAX

StAX: Obtener EntityReferences en un archivo XML

Problema:
El contenido de una etiqueta no se devuelve completo. El texto de retorno solo tiene la parte antes de la referencia de entidad.

<thetext>
Opening repository resource always open the default text editor and doesn&apos;t
	honor any mapping between resource types and editors.
</thetext>


En el fragmento XML anterior, contiene un [‘] adentro. El evento event.asCharacters (). GetData () no devuelve todo el texto, sino solo la parte anterior [‘].

if (event.asStartElement().getName().getLocalPart().equals("thetext")) {
	event = eventReader.nextEvent();
					System.out.println("thetext: " + event.asCharacters().getData());
}

El problema se soluciona estableciendo una de las propiedades de la fábrica de entrada.

inputFactory.setProperty(XMLInputFactory.IS_COALESCING, true);

Esto requiere que el analizador reemplace las referencias de entidades internas con su texto de reemplazo y las informe como caracteres.

Referencia: http://download.oracle.com/javase/6/docs/api/javax/xml/stream/XMLInputFactory.html#IS_COALESCING

  Código Java: use StAX para crear un archivo xml

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *