网页在IE6.0中显示正常,在IE7.0 上显示异常在主页index.htm 的<iframe>调用datashow.php在datashow.php中利用echo输出一个xml文本:
<?xml version="1.0" encoding="gb2312"?><?xml-stylesheet type="text/xsl" href="all.xsl"?>
<xdata><theader></theader>
<tbody>
<item id="0"><id>532</id><ip>192.168.17.231</ip><dip>192.168.11.202</dip><timestamp>2007-04-26 09:52:16</timestamp><url><![CDATA[192.168.11.202 ]]></url><site><![CDATA[192.168.11.202 ]]></site><title><![CDATA[No Title ]]></title><filepath></filepath><visited>1</visited><method>GET</method></item>
</tbody>
</xdata>
输出在iframe中的结果是
532192.168.17.231192.168.11.2022007-04-26 09:52:161GET19192.168.11.2025100007FHTTPGET
看起来好像是ie7忽略了所有<>里面的标志而直接将数据显示在页面上。
然而如果将此页面的内容另存为1.xml,并把all.xsl放在1.xml的目录下,再用ie7查看1.xml的内容,所有的样式都有效,显示正常。这是什么原因呢?有谁碰到过类似的问题吗?
<?xml version="1.0" encoding="gb2312"?><?xml-stylesheet type="text/xsl" href="all.xsl"?>
<xdata><theader></theader>
<tbody>
<item id="0"><id>532</id><ip>192.168.17.231</ip><dip>192.168.11.202</dip><timestamp>2007-04-26 09:52:16</timestamp><url><![CDATA[192.168.11.202 ]]></url><site><![CDATA[192.168.11.202 ]]></site><title><![CDATA[No Title ]]></title><filepath></filepath><visited>1</visited><method>GET</method></item>
</tbody>
</xdata>
输出在iframe中的结果是
532192.168.17.231192.168.11.2022007-04-26 09:52:161GET19192.168.11.2025100007FHTTPGET
看起来好像是ie7忽略了所有<>里面的标志而直接将数据显示在页面上。
然而如果将此页面的内容另存为1.xml,并把all.xsl放在1.xml的目录下,再用ie7查看1.xml的内容,所有的样式都有效,显示正常。这是什么原因呢?有谁碰到过类似的问题吗?
可能你有些语法不太准确,好好检查一下 xsl 文件吧。IE7中的语法检查要比6高多了。
试试再最开始的地方加上
header('Content-Type: application/xml');