Как я могу игнорировать пробелы при анализе XML-файла. Он всегда вызывает метод characters(...)
, а после конечного элемента - '\n'
или '\r'
, поэтому он вызывает этот метод дважды, а не только один раз.Как игнорировать пробелы и новые строки при анализе XML-файла
ответ
SAXParser, анализирующий документ против DTD-вызовов ignorableWhitespace()
, когда он встречает пробелы в содержание элемента. Например, если XML-фрагмент
<ol>
<li>one</li>
<li>two</li>
</ol>
разбирается против этого фрагмента DTD:
<!ELEMENT ol (li+)>
<!ELEMENT li (#PCDATA)>
SAXParser назвали бы characters(...)
для "one"
и "two"
и ignorableWhitespace(...)
для всех белого пространства между элементами.
Обратите внимание, что это относится только к разбору DTD. При использовании схемы ignorableWhitespace(...)
не вызывается (хотя доступна такая же информация).
Хорошо, спасибо, но это не решило мою проблему. Между моими элементами в данном XML-файле есть пробелы, например.
Большинство парсеров 'XML' обрабатывают это самостоятельно. Кстати, какой парсер вы используете? – kaysush
Я использую этот парсер: javax.xml.parsers.SAXParser. Я знаю, что есть функция, называемая ignorableWhitespaces (...), но я не знаю, как использовать эту функцию, и я не знаю, что именно она делает. –