У меня проблема с тем, что мои XML-файлы загружаются медленно и не завершают загрузку до того, как они начинают анализироваться, что вызывает исключение из моего синтаксического анализатора исключения xml, показывающего, что файл загружен не полностью.
Полная ошибка из logcat: «ОШИБКА / Ошибка (323): errororg.apache.harmony.xml.ExpatParser $ ParseException: в строке 10, столбец 46: неправильно сформирован (недопустимый токен)»
Я знаю, что XML-файл правильный, потому что иногда он будет работать, и я также могу открыть его в своем браузере и посмотреть на него.
Что было бы лучшим способом заставить синтаксический анализатор ожидать InputSource, прежде чем продолжитьи анализ данных XML?
Код ниже - это код, который я использую для получения и анализа файла.
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
GradeHandler gradeHandler = new GradeHandler();
xr.setContentHandler(gradeHandler);
URL url = new URL("https://url/to/xml/file");
HttpsURLConnection ucon = (HttpsURLConnection)url.openConnection();
ucon.setHostnameVerifier(new AllowAllHostnameVerifier());
xr.parse(new InputSource(new BufferedInputStream(ucon.getInputStream())));