Android SAX Parser с образцом символов новой строки?

У меня есть веб-служба PHP, которая возвращает вывод XML, а один из тегов содержит многострочные данные «\ n» String.

Моя проблема: все «\ n» удаляются после передачи данных XML через SAX-анализатор по умолчанию, но я действительно не хочу, чтобы это произошло! Я хочу сохранить все символы «\ n» новой строки в теге, чтобы я мог извлечь их и отобразить их в простом TextView или EditText.

Я попробовал пару обходных решений, таких как замена «\ n» на «& x # dA;» или что-то, но я не могу заставить его работать с моим PHP-сервером, и я чувствую, что это не изящное решение.

У кого-нибудь есть рабочий пример или учебник, вы можете указать мне, чтобы узнать, как это решить? Я прочитал в другом сообщении здесь, что это «lmitation» для реализации синтаксического анализа SAX по умолчанию, но я не против использования анализатора третьей части, если это решит его, но мне понадобятся некоторые рекомендации …

Благодаря!

У меня была такая же проблема, как и вы. Я нашел это решение аналогичной проблемы и адаптировал его к этому.

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(); 

Где str – ваша строка с \n символами. Вероятно, это более элегантное решение этой проблемы, но я совершенно новый для java и Android и не могу найти его.