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

[SOLUCIONADO] Mostrar caracteres especiales de xml

Estas en el tema de Mostrar caracteres especiales de xml en el foro de Java en Foros del Web. Hola a todos, Mi cuestión es la siguiente, tengo que mostrar un texto XML en un textarea HTML, este texto XML lo muestro dinamicamente en ...
  #1 (permalink)  
Antiguo 19/01/2015, 10:31
 
Fecha de Ingreso: mayo-2013
Ubicación: Armenia, Quindio, Colombia,
Mensajes: 95
Antigüedad: 10 años, 11 meses
Puntos: 3
Mostrar caracteres especiales de xml

Hola a todos,
Mi cuestión es la siguiente, tengo que mostrar un texto XML en un textarea HTML, este texto XML lo muestro dinamicamente en una página JSP y viene en un atributo de session, pero a veces en este texto XML vienen valores con caracteres especiales y al mostrarlos, el explorador los renderiza con su respectivo valor y no me los muestra como debería ser. Ejemplo
Lo que quiero mostrar
Código HTML:
Ver original
  1. Texto XML
  2. <pool>
  3.    <object>&lt;value1&gt;</object>
  4. <pool>

Lo que me está mostrando
Código HTML:
Ver original
  1. Texto XML
  2. <pool>
  3.    <object><value1></object>
  4. <pool>

Es posible que exista alguna clase de java o libreria que me permita cambiar el texto a una codificación especial para que lo muestre bien en HTML o quizá la configuración sea propia del componente HTML para que no los renderice
__________________
Nunca mandes hacer el trabajo de una máquina a un humano
  #2 (permalink)  
Antiguo 19/01/2015, 10:41
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Mostrar caracteres especiales de xml

Buenas,

Apache Commons Lang lo hace:

http://commons.apache.org/proper/commons-lang/

http://commons.apache.org/proper/com...lang.String%29

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #3 (permalink)  
Antiguo 19/01/2015, 15:04
 
Fecha de Ingreso: mayo-2013
Ubicación: Armenia, Quindio, Colombia,
Mensajes: 95
Antigüedad: 10 años, 11 meses
Puntos: 3
Respuesta: Mostrar caracteres especiales de xml

Hola Muchas gracias por la respuesta. He mirado la utilería de apache y no me ha servido pues para el método que me muestras simplemente lo que encuentra por ejemplo con &gt; lo reemplaza con < y eso es precisamente lo que no quiero. Esto que me muestras, la codificación apropiada de caracteres ya lo hace la clase electric.xml.Document. Te reitero mi problema, existe un atributo que viene con un XML, pero dentro de este XML vienen códigos, como &gt; y quiero que los muestre así, literalmente. el problema es que HTML me lo traduce y necesito que lo muestre LITERALMENTE. He encontrado una solución pero no es muy optima y es cada vez que encuentre un codigo, este lo reemplaze por otra combinación, ejemplo para el caso de &gt; lo reemplazaría por &amp;lt; y así html traduce el ampersand y mostraría el código literalmente el problema es que el XML viene con muchos valores de estos y encima no es solo este si no el espacio, mayor y menor que, iguales,, y todos estos simbolos que son muchooosss y propios de XML/HTML.

Por fa ayuda, muchas gracias,
__________________
Nunca mandes hacer el trabajo de una máquina a un humano
  #4 (permalink)  
Antiguo 20/01/2015, 04:05
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Mostrar caracteres especiales de xml

Buenas,

Precisamente es lo que te comentaba.

Apache lang puede convertir &gt; en < (unescapeHtml4) o lo inverso (< en &gt; con escapeHtml4).

Precisamente lo que deberias hacer con dicha libreria es lo que ya has hecho, aplicar el escapeHtml4 al documento antes de mostrarlo. De esta forma te quedaria algo como:

Código XML:
Ver original
  1. &lt;pool&gt;
  2.    &lt;object&gt;&amp;lt;value1&amp;gt;&lt;/object&gt;
  3. &lt;pool&gt;

Que en el navegador se representara correctamente.

Código XML:
Ver original
  1. <pool>
  2.    <object>&lt;value1&gt;</object>
  3. <pool>

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #5 (permalink)  
Antiguo 20/01/2015, 07:42
 
Fecha de Ingreso: mayo-2013
Ubicación: Armenia, Quindio, Colombia,
Mensajes: 95
Antigüedad: 10 años, 11 meses
Puntos: 3
Respuesta: Mostrar caracteres especiales de xml

Disculpa no me había fijado en este detalle. Muchas gracias por tu valioso tiempo, si que me ha servido, .
__________________
Nunca mandes hacer el trabajo de una máquina a un humano

Etiquetas: caracteres, clase, especiales, valor, 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 07:22.