Foros del Web » Programación para mayores de 30 ;) » Java »

Hacer XML (javax.xml)

Estas en el tema de Hacer XML (javax.xml) en el foro de Java en Foros del Web. Buenos días, estoy intentando hacer un XML con JAVA, pero al crear un nodo del precio me da problemas. En el documento XML me sale ...
  #1 (permalink)  
Antiguo 15/03/2012, 04:28
Avatar de luna690  
Fecha de Ingreso: marzo-2012
Ubicación: Barcelona
Mensajes: 61
Antigüedad: 12 años, 1 mes
Puntos: 3
Hacer XML (javax.xml)

Buenos días,

estoy intentando hacer un XML con JAVA, pero al crear un nodo del precio me da problemas.
En el documento XML me sale el símbolo 10.00 €, pero estoy haciendo un JUnit (un test de la clase) y al hacer las comprobaciones me sale "â,¬".

Cómo lo puedo arreglar?
He comprobado que al hacer el nodo me lo haga bien y si, me sale el símbolo del euro. No entiendo porqué al hacer el test me sale el otro.
System.out.println(e1.getChildNodes().item(0).getN odeValue());

Tengo algo parecido a ésto:
Código:
        OutputStream out = new ByteArrayOutputStream();
        feed.writeXML(out);
        System.out.println(out.toString());
        StringTokenizer lines = new StringTokenizer(out.toString(), "\n", false);
        assertEquals("<g:price>177.00 €</g:price>", lines.nextToken().trim());
y me sale:
expected: < <g:price>177.00 €</g:price> > but was: < <g:price>177.00 [â,¬]</g:price> >
  #2 (permalink)  
Antiguo 15/03/2012, 05:31
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Hacer XML (javax.xml)

No estás indicando correctamente el encoding en el que está el XML

http://docs.oracle.com/javase/6/docs...lang.String%29
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 15/03/2012, 05:44
Avatar de luna690  
Fecha de Ingreso: marzo-2012
Ubicación: Barcelona
Mensajes: 61
Antigüedad: 12 años, 1 mes
Puntos: 3
Respuesta: Hacer XML (javax.xml)

De momento lo tengo resuelto reemplazando "€" por el símbolo del euro.
assertEquals("<g:price>177.00 €</g:price>", lines.nextToken().trim().replace("€", "€"));

Lo que me has comentado, la clase OutPutStream no tiene el método toString(String ..);
http://docs.oracle.com/javase/6/docs/api/java/io/OutputStream.html
  #4 (permalink)  
Antiguo 15/03/2012, 14:43
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Hacer XML (javax.xml)

Pero ByteArrayOutputStream sí, y el objeto que estás creando lo es.

Lo de sustituir es un apaño válido, pero ten en cuenta que seguramente te pasará también con las ñ,á,é... el número de caracteres extraños va a depender de las codificaciones que estés mezclando.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Etiquetas: clase, string, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:14.