набор данных .readxml с URL-адресами, связывающими амперсанды в элементах - PullRequest
0 голосов
/ 27 февраля 2012

Я читаю xml-файл в наборе данных, используя метод dataset.readxml, и я столкнулся с проблемой, когда элемент содержит URL-адрес определенной формы. Компилятор выдает это исключение:

Произошла ошибка при разборе EntityName.

Проблема возникает в URL при обнаружении амперсанда после знака равенства.

http://somewebsite.net/something?=a&b=

Если я заменим амперсанд на его шестнадцатеричный код% 26 или любой другой символ в этом отношении, строка будет считана, но она не будет действительным URL-адресом, пока я не заменю шестнадцатеричный код на ameprsand, который был бы одним решение.

Другой способ, которым я думал об использовании тега CDATA [], но, насколько я понимаю, мне нужно было бы сначала прочитать xml-файл, получить значения CDATA [], а затем использовать dataset.readxml для заполнения набора данных.

Кто-нибудь знает, почему это вызывает проблемы, и подумайте о других решениях?

спасибо за вашу помощь

1 Ответ

0 голосов
/ 28 февраля 2012

Амперсанд в содержимом XML должен быть написан "& a m p;" (без пробелов), отображается ли он в URL или где-либо еще. Когда приложение пытается обработать XML, синтаксический анализатор XML преобразует его обратно в амперсанд, поэтому URI будет работать правильно.

...