Я сделал приложение для Android для обработки XML-файлов с помощью XMLPullParser. Некоторые файлы XML не работают. Они были отформатированы для просмотра 80 столбцов. У них есть символы CRLF после каждых 80 символов. Некоторые символы CRLF находятся внутри TAG. Как я могу их фильтровать?CRLF внутри XML TAGs
ответ
Когда вы говорите, есть CRLF символы «внутри тегов», я предполагаю, что вы имеете в виду что-то вроде
<TIT
LE>Introduction</T
ITLE>
Я спрашиваю, потому что, к сожалению, многие люди используют слово «тэг» неправильно означает весь элемент, и говорить о слове «Введение» - это если он находится внутри тега, что на самом деле не так.
Если у вас есть символы CRLF в тех местах, где XML их не разрешает, вам придется удалить их перед передачей данных в синтаксический анализатор XML. Это звучит не очень сложно. Если вы хотите сделать это на лету, вы можете написать реализацию InputStream, которая выполняет фильтрацию, и передать этот фильтрованный InputStream в синтаксический анализатор.
Спасибо, Майкл. Да, ваш пример правильный. Это моя проблема. Я пробовал следующую реализацию InputStream: http://stackoverflow.com/questions/14752622/removing-newline-characters-from-inputstream/14754606#14754606 Я получаю ошибку stackoverflow при вызове метода super. Как это исправить? – user3050378
Посмотрите на трассировку стека и посмотрите, где происходит бесконечный рекурсивный цикл, затем исправьте его. –
- 1. vim remove xml tags
- 2. Auto-close xml-tags
- 3. Xstream Ambigious xml tags
- 4. XML-файл - удалить шальную CRLF
- 5. ColdFusion loop over xml escape xml tags
- 6. Vim 7.3 autocomplete xml tags
- 7. Html tags in xml (rss)
- 8. XML экстракт для селективного TAGs
- 9. sed edit, delete xml tags
- 10. Php count tags в XML
- 11. ICSharpCode.TextEditor: Folding/Unfolding XML Tags
- 12. Inline p tags внутри div
- 13. Замена содержимого внутри DIV Tags
- 14. Curl strips CRLF в xml-файле
- 15. windows CMD отправить CRLF внутри двойной цитаты
- 16. Angular2 remove tags tags
- 17. strip out xml tags in placeholders
- 18. XSLT удаления NewLine/CRLF
- 19. php tags в строке
- 20. Отправить post-tags для wordpress в XML-RPC
- 21. Как показать многострочный XML-контент с CRLF в WPF TextBlock?
- 22. XML внутри XML узла
- 23. Dicttoxml Module tags
- 24. Jsp tags вне WEB-INF/tags
- 25. XSL replace P tags
- 26. NSXMLParser конвертирует CRLF в LF
- 27. Python, читать текстовый файл CRLF как есть, с CRLF
- 28. RegEx CRLF, но сохраняют CRLF с предшествующим характером
- 29. удалить `CRLF`, когда после того, как` CRLF` не является числом
- 30. Необычные jQuery Tags Selector
Тогда они недопустимы для XML. Исправьте исходные данные. Если есть что-то еще, ** покажите свой код ** и опишите свою * конкретную * проблему. –
Предварительная обработка сломанного документа для удаления всех строк перевода строки? Это * делает риск изменения некоторых законных данных, так как newline является юридическим символом в текстовых блоках, но это единственное, что я могу думать о том, что это будет работать, чтобы удушить идиота, который сломал документы. – keshlam
(Педантичный приговор: И проблема хуже, чем их недействительность - они даже не хорошо сформированы. Я знаю, вы имели в виду «действительный» разговорно, и это ... гм ... действительное использование Я просто отмечаю это, потому что читатели, скорее всего, столкнутся с этим различием позже.) – keshlam