IE 8 не парсит XML

12
[Удален]
1372

Столкунулся с проблемой, IE 8 не хочет парсить XML код. В хроме, ФФ все нормально.

Вот такой код

header('Content-Type: application/xml');

header('Pragma: private');

header('Cache-control: private, must-revalidate');

echo '<?xml version="1.0" encoding="ISO-8859-1"?>';

echo "<root><message>$msg</message>";

echo "<status>$status</status></root>";

Но вместо нужно переадресации или выдачи сообщения, IE выдает чистый текст

<?xml version="1.0" encoding="ISO-8859-1" ?>

- <root>

<message>Логин или пароль неверные</message>

<status>error</status>

</root>

Кто-нибудь с таким сталкивался?

kil
На сайте с 03.04.2006
Offline
84
kil
#1

Вызывает сомнения:

header('Content-Type: application/xml');

Попробуйте вот так:

header('Content-type: text/xml');
Николай В.
На сайте с 07.09.2006
Offline
62
#2

Код, который вы привели, и должен так отобразиться.

Кстати, кириллицу в ISO-8859-1 передавать неправильно.

[Удален]
#3

kil

нет, не помогло.

Николай В.

не должен, т.к. перед этим код парсится через Smarty.

Вот решил просмотреть $_SERVER["HTTP_ACCEPT"] под тремя браузерами.

Вот что я получил в Хроме: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5

Вот в ФФ:

text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

А вот что в ИЕ: image/gif, image/jpeg, image/pjpeg, application/x-ms-application, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-ms-xbap, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-silverlight, */*

application/xaml+xml - это формат каких-то презентаций.

Получается, ИЕ вообще не предусматривает принятие XML. Оо

zzeus
На сайте с 04.01.2008
Offline
74
#4
osada:
kil
Получается, ИЕ вообще не предусматривает принятие XML. Оо

content-type: text/html

Да, IE не умеет XML, о чем я многократно писал.

[Удален]
#5
zzeus:
content-type: text/html

Да, IE не умеет XML, о чем я многократно писал.

ужас! а какой может быть выход в моей ситуации, не подскажете?

zzeus
На сайте с 04.01.2008
Offline
74
#6
osada:
ужас! а какой может быть выход в моей ситуации, не подскажете?

header('Content-Type: text/html');

[Удален]
#7

это не помогет. все равно отображает как обычный текст

[Удален]
#8

Он и должен отображаться как обычный текст, епт.

ИЕ по другому не умеет. XSLT табличку подключите, это он вроде может.

SJ
На сайте с 16.03.2008
Offline
78
#9
neolord:
Он и должен отображаться как обычный текст, епт.
ИЕ по другому не умеет. XSLT табличку подключите, это он вроде может.

Именно!

Потому как XML - это данные. ХЗ как юзер их видеть хочет, может и вовсе не в виде дерева хз какой вложенности иногда.

Так что XSLT не зря придумали :) Ну, и XPath все-таки сила.

Вобщем, браузер - он браузерное рендерить должен ;)

Любимый хостинг (http://beget.ru?id=2902) How can we grow old when the soundtrack of our lives is rock-n-roll?
[Удален]
#10

Попробовал переписать это ввиде XSLT стиля:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<transform>
<xsl:apply-templates/>
</transform>
</xsl:template>
<xsl:template match="message">
<record>
<xsl:value-of select="$msg" />
</record>
</xsl:template>
<xsl:template match="status">
<record>
<xsl:value-of select="$status" />
</record>
</xsl:template>
</xsl:stylesheet>

все равно выдает как обычный текст :(

osada добавил 13.07.2009 в 22:25

нашел интерсную особенность:

если убрать из шаблона строку

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

тогда все работает, но сбиваются стили...

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий