2016-04-29 5 views
0

Я попытался проанализировать XML-документ (HMTL на самом деле, но это не имеет значения) в Java с org.jdom2.input.SAXBuilder.Анализ с использованием SAX завершился неудачно из-за символа '&' в HTML

Документ содержит строку с URL:

< link rel ="something" href="http://...&pg=2..." />; 

Проблема в том, что, как ожидается, иметь точку с запятой (;) после этого, так &pg становится некоторый символ, и SAXBuilder выдает ошибку из-за что (после запятой после & pg найдено).

Есть ли какой-либо параметр синтаксического анализа, чтобы SAX не интерпретировал символ & как символ, а как обычную строку?

Разница заключается в том, я не хочу, чтобы разобрать специальный символ, я хочу, чтобы разобрать символы &somethingкак они, это должно быть так по умолчанию на самом деле, и основной проблемой является исключение брошенного класса Java

org.jdom2.input.SAXBuilder 

ответ

2

& это специальный XML характер. Вам нужно будет убежать от него в & ampamp; или обернуть его вокруг тега CDATA [].

Я пытался разобрать документ XML (HMTL на самом деле, но это не имеет значения) в Java

Это важно! Если вы используете редактор XML для проверки источника HTML . Жалуется ли он на эту же проблему? Правильно ли он XML?

Имейте в виду, что многие источники HTML не являются хорошо сформированными XML. Если вы хотите проанализировать HTML, я бы предложил использовать HTML-парсер. Я использовал JSoup (с открытым исходным кодом) api для анализа HTML во многих моих проектах.

+0

Да, например, редактор netbeans xml пишет то же, что и pg. это JSout parce для somthing jdom Element-like, чтобы вы могли перемещаться по элементам? –

+0

JSoup - это проект Apache с открытым исходным кодом. Его для разбора HTML и навигации по DOM-любимому. Вы можете выбрать различные узлы, атрибуты и извлечь их данные ... –

 Смежные вопросы

  • Нет связанных вопросов^_^