我正在使用PHP文件输出XML文档 我正在使用CSS文件格式化该XML文档 我的浏览器(Safari)不会显示格式,除非我提供带有xml扩展名的文件。我认为标题优先于扩展名。
parser.php(经过php处理)
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/css" href="parser.css"?>
<Main>
<Test>This is some test text that should appear in Blue.</Test>
</Main>
parser.css
Main {
background-color: gray;
}
Test {
color: blue;
}
如果我将php文件的输出保存为xml并在浏览器中查看,那么它会正确显示格式。但是我需要动态生成xml 这是预期的行为吗?我想我可以用php生成一个单独的文件,然后在那里转发浏览器 或者我可以设置我的服务器来解析xml文件,然后只需将我的php文件的扩展名(包含其中的所有代码)更改为XML。但这些似乎都不是必要的。
答案 0 :(得分:2)
文档以text / html格式返回(因为这是您的服务器作为内容类型标题发送的内容)。您将强制它以XML格式返回,这可以解决您的问题。
// Before you render parser.php...
header('Content-type: text/xml');
这样,无论扩展名如何,您的浏览器都会知道将其呈现为XML。