Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/01/2011, 03:59
Avatar de MarioAraque
MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 meses
Puntos: 265
Respuesta: Problema com impresion de caracteres en Java

Me respondo a mi mismo, porque encontre la solucion de este problema hace mucho tiempo, y quizas a otras personas les sirva en un futuro:

Yo uso SAX para el parser, entonces el problema que tiene es que, cada Element que tiene el Nodelist que me genera, en caso de que tenga los simbolos que mencione arriba, los separa en nodos diferentes.
Mejor explicarlo con un ejemplo.

Si el titulo es: Hola Mundo , entonces, al no tener ningun simbolo raro, me lo pone todo en un nodo, por lo que la siguiente instruccion

Código Android:
Ver original
  1. Element titulo = (Element) entrada.getElementsByTagName(
  2.                             "title").item(0);
  3. String title = titulo.getFirstChild().getNodeValue();

Me devolveria: Hola Mundo


Ahora bien, si yo hago lo mismo de arriba para un titulo de un feed del tipo: A mi me dicen "Pepito", el codigo de arriba solo devuelve: A mi me dicen ", por que? Porque SAX divide en varios hijos al Element titulo, entonces, como yo en la segunda linea puse que me devuelva el primer hijo, solo me da la primera parte. En resumen: Tengo que hacer un bucle y concatenar todos los hijos para tener el titulo completo:

Código Android:
Ver original
  1. Element titulo = (Element) entrada.getElementsByTagName(
  2.                             "title").item(0);
  3. String title = titulo.getFirstChild().getNodeValue();
  4. NodeList titleshijos = titulo.getChildNodes();
  5. for (int k = 1; k < titleshijos.getLength(); k++) {
  6.     title += titleshijos.item(k).getNodeValue();
  7. }

Y listo, tema solucionado. Segun lei, es un problema que, hasta ahora, no le han encontrado solucion.

Saludos.

Última edición por MarioAraque; 15/01/2011 a las 04:04