Я пытаюсь разобрать некоторые значения с веб-сайта. Для этого я использую QXmlStreamReader
. После того, как я начал синтаксический анализ, я получил XML Error: «Ожидаемый» = ', но получил'> '. ". Он разбивает на этой искаженной элемент:Есть ли способ заставить QXmlStreamReader справиться с искаженным XML?
<tbody pageStartAt >
Я полагаю, что причина этого в том, что стандарт означает, что все после основного имени тега должен иметь несколько значений, присоединенные к ней, как это:
<tbody pageStartAt="2" > - this is working.
Мои вопрос - есть ли способ предотвратить это? Я просто хочу игнорировать subtags, у которых нет значений. Я бы предпочел избежать использования QWebKit - я думаю, что это слишком много.
То, что вы анализируете, не является XML, поэтому вы не можете ожидать, что 'QXmlStreamReader' справится с этим. Однако было бы просто исправить читателя, чтобы принять такой неверный XML. Это будет меньше работы, чем любое другое решение, скорее всего, мы говорим о 2-3-строчном патче :) –
В большинстве случаев QXmlStreamReader будет продолжать прерываться после ошибки. Что именно вы подразумеваете под словом «это ломается»? – MrEricSir
Он устанавливает QXmlStreamReader в состояние ошибки, которое невозможно удалить. (существует четкий метод - но он также сбрасывает смещение обработанных символов). – lagoru