Ошибка синтаксического анализа XML. Проблема в переменном контенте, обходной путь? - PullRequest
2 голосов
/ 17 июля 2010

Работа над API, но я столкнулся с проблемой.

Эта конкретная часть ответа (в XML) возвращает URL. Вот ошибка, которую я получаю:

XML Parsing Error: not well-formed

<item_to_page_url>http://cnn.com/.../?hpt=C2&replytocom=11119#respond</item_to_page_url>

Во-первых, я добавил эллипсы, чтобы сократить их длину для просмотра здесь на форуме. Теперь, строка с трекером ошибок, которую я не включил выше, указывает на второй символ равенства = в этом URL.

Итак. Я не могу помочь, что этот URL отображается в ответе XML. Есть ли какое-то решение? Конечно, есть какой-то способ сообщить XML, что это CONTENT, а не <tags>, и заставить его игнорировать это ..

Спасибо

- РЕДАКТИРОВАТЬ для комментария ниже -

<item_to_page_title><![CDATA[Breaking news, real-time scores and daily analysis from Sports Illustrated  SI.com]]></item_to_page_title>

та же ошибка, что и раньше, другая метка, другой символ.

1 Ответ

4 голосов
/ 17 июля 2010
Конечно, есть какой-то способ сказать XML, что это CONTENT, а не заставить его игнорировать это.

Да, действительно.Теги CDATA заставят анализатор XML игнорировать содержимое, содержащееся в них.

<item_to_page_url><![CDATA[http://cnn.com/.../?hpt=C2&replytocom=11119#respond]]></item_to_page_url>

Однако, если вы не хотите, чтобы анализатор полностью игнорировал содержимое, вы можете просто избежать его.Ошибка, которую вы получаете, на самом деле не вызвана знаком равенства, она вызвана амперстандом перед ним - амперсанты должны быть экранированы в xml как &amp;

<item_to_page_url>http://cnn.com/.../?hpt=C2&amp;replytocom=11119#respond</item_to_page_url>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...