XML отображается как простой текст - PullRequest
1 голос
/ 04 февраля 2012

Я получаю XML от внешнего провайдера, и для отладки я обычно просматриваю его из браузера. К сожалению, дело в том, что только Internet Explorer может отображать данные в формате XML. Все другие браузеры, такие как Chrome, Safari, Firefox, по какой-то причине отображают его как обычный текст.

Кто-нибудь может объяснить, почему это так?

Спасибо.

1 Ответ

2 голосов
/ 04 февраля 2012

Попробуйте (если можете):

  • принудительно возвращает Mimetype возвращаемой страницы на text/xml
  • управляет объявлением xml, чтобы проверить его правильность
  • управляет объявлением DOCTYPE, если оно правильное

Вы должны вставить сюда свой код / ​​возвращенный XML, чтобы показать, что не так!

ДОБАВЛЕНО ПОЗЖЕ

Фактически, если XML плохо отформатирован (например, в некоторых элементах нет хорошего выхода значения атрибута). Браузер отображает все в виде простого текста. Попробуйте проверить текст с помощью W3C XML Validator

Тогда, как я уже сказал, в самом первом пункте возвращаемый mimetype в запросе может быть неправильным: у меня есть пример того, что вы иногда можете найти в заголовке (неправильный пример):

 POST /path/to/the/service/ HTTP/1.1
 Host: www.example.com
 Content-Type: text/plain; charset=utf-8
 Content-Length: length

 <?xml version="1.0" encoding="utf-8"?>
 ....

Если вы посмотрите на Content-Type, вы увидите Content-Type: text/plain; charset=utf-8, который будет Content-Type: text/xml; charset=utf-8, но единственный способ исправить это - изменить исходный код веб-службы, отвечающей файлом xml. Чтобы убедиться, что вы можете, например, с помощью Chrome, нажать <F12>, выбрать Сеть и перезагрузить страницу (указывая на ресурс, который вы хотите просмотреть) и взглянуть на столбец Типа.

...