Мой бесплатный веб-хостинг добавляет аналитический javascript ко всем файлам PHP и HTML.Это нормально, за исключением того, что я хочу отправить XML в мое приложение для Android, и это делает мои файлы недействительными.
Поскольку XML анализируется полностью (и разрушается) перед передачей в мой SAX ContentHandler, я не могу просто перехватить исключение и продолжить весело вместе с выделенным объектом.(Который я пробовал, а потом чувствовал себя неловко.)
Есть предложения относительно разумно эффективной стратегии?
Я собираюсь создать класс, который будет принимать мой InputStream, читать его до тех пор, пока я не найду мусор, прервать, затем взять то, что я только что написал, преобразовать обратно в InputStream и передать какничего не случилось.Но я волнуюсь, что это будет крайне неэффективно, с ошибками, с которыми мне не придется сталкиваться (например, ломка двоичных значений, таких как встроенные изображения), и, надеюсь, излишне.
FWIW, это частьпроект Android, поэтому я использую класс android.util.Xml
(см. исходный код ).Когда я отследил исключение, он взял меня к функции native appendChars, которая сама в любом случае вызывается из сети частных методов, поэтому подклассификация чего-либо представляется необоснованно бесполезной.
ВотОтличительный бит из моей трассировки стека:
E/AndroidRuntime( 678): Caused by: org.apache.harmony.xml.ExpatParser$ParseException: At line 3, column 0: junk after document element
E/AndroidRuntime( 678): at org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:523)
E/AndroidRuntime( 678): at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:482)
E/AndroidRuntime( 678): at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:320)
E/AndroidRuntime( 678): at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:277)
Я думаю, в конце концов, я спрашиваю мнения о том, InputStream -> анализировать ли вручную OutputStream -> воссоздать InputStream -> передать Решение так же ужасно, как я думаю.