я использую JDOM с моим Android проекта, и каждый раз, когда я получаю определенный набор символов в моем ответе сервера, я в конечном итоге с этими сообщениями об ошибках:JDOM Бросив Parse Исключения с плохими персонажами ASCii
05- 04 10: 08: 46.277: E/PARSE: org.jdom.input.JDOMParseException: ошибка в строке 95 документа UTF-8: по строке 95, столбец 5263: незамкнутый токен
05-04 10: 08: 46.277 : E/Обработчик ошибок: обработчик не выполнен: org.jdom.input.JDOMParseException: ошибка в строке 1: по строке 1, столбец 0: ошибка синтаксиса
Когда я делаю тот же запрос через google chrome, я вижу, что al l XML прошел через штраф, и что на самом деле нет областей, где токен не закрыт. Я столкнулся с этой проблемой несколько раз на протяжении всей разработки приложения, и решение всегда заключалось в удалении нечетных символов ascii (логотипы авторских прав или знаки товарных знаков и т. Д., Которые были скопированы/вставлены в эти поля данных). Как я могу получить его для удаления этих символов, или b разделить их и продолжить функцию. Вот пример одной из моих функций синтаксического анализа.
public static boolean parseUserData(BufferedReader br) {
SAXBuilder builder = new SAXBuilder();
Document document = null;
try {
document = builder.build(br);
/* XML Output to Logcat */
if (document != null) {
XMLOutputter outputter = new XMLOutputter(
Format.getPrettyFormat());
String xmlString = outputter.outputString(document);
Log.e("XML", xmlString);
}
Element rootNode = document.getRootElement();
if (!rootNode.getChildren().isEmpty()) {
// Do stuff
return true;
}
} catch (Exception e) {
GlobalsUtil.errorUtil
.setErrorMessage("Error Parsing XML: User Data");
Log.e(DEBUG_TAG, e.toString());
return false;
}
}
Вы можете загрузить пример ответ где-то так мы можем это увидеть? Также вы говорите, что определенный набор символов вызывает проблему, но какие? Где они используются? – Jules
Я не могу загрузить ответ, так как приведенный выше код является скорректированной версией (переменные и имена методов изменены) нашего фактического кода. Я не могу загрузить ответ XML с ошибкой, поскольку он содержит конфиденциальную информацию о клиенте. Ошибки появляются, когда наши клиенты копируют/вставляют вещи в такие поля, как (у нас есть их копирование/вставка из их электронных писем, и такие вещи, как «Powered by Motorola (tm) <--- ascii (tm)», будут отображаться и вызывать –
RyanInBinary