Analizador SAX de Android con una nueva muestra de personaje?

Tengo un servicio web PHP que devuelve un resultado XML, y uno de los Tag contiene una cadena de caracteres “\ n” de varias líneas.

Mi problema es que todo “\ n” se eliminará después de pasar los datos XML a través del analizador SAX predeterminado, ¡pero realmente no quiero que esto suceda! Quiero conservar todos los caracteres “\ n” de nueva línea dentro de la etiqueta para que pueda extraerlos y mostrarlos en un simple TextView o EditText.

Intenté un par de soluciones alternativas como sustituir “\ n” con “& x # dA;” o algo así, pero no puedo hacer que funcione correctamente con mi servidor PHP, y creo que no es una solución elegante.

¿Alguien tiene un ejemplo de trabajo o tutorial que me puede señalar para aprender a resolver esto? Leí en otro post aquí que esta es la “interpretación” de la implementación de este analizador SAX predeterminado, pero no me importa usar un analizador de tercera parte si eso va a resolverlo, pero necesitaré alguna guía …

¡Gracias!

Yo tenía el mismo problema que tú. Encontré esta solución a un problema similar y lo adapté a este.

StringBuffer sb = new StringBuffer(str.length()); CharacterIterator it = new StringCharacterIterator(str); for (char ch = it.first(); ch != CharacterIterator.DONE; ch = it.next()) { switch (ch) { case '\\': char next = str.charAt(it.getIndex() + 1); if (next == 'n') { // we've found a newline character sb.append('\n'); } else { sb.append(ch); } break; case 'n': char prev = str.charAt(it.getIndex() - 1); if (prev == '\\') { // don't append the 'n', we did that above } else { sb.append(ch); } break; default: sb.append(ch); break; } } str = sb.toString(); 

Donde str es tu cadena con \n caracteres. Probablemente haya una solución más elegante para este problema, pero soy bastante nuevo en Java y Android y no pude encontrar ninguno.