0

我在 PHP 中将 HTTP 标头设置为:

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

我得到以下回应:

<?xml version="1.0" encoding="utf-8"?>
<feedback>
    <result>False</result>
</feedback>

但是当我检查标题时,它说响应类型是application/atom+xml. 我需要这个application/xml格式。这个问题的原因可能是什么?

4

2 回答 2

3

没有理由不应该这样做。我刚刚使用该 xml 尝试了一个简单的测试用例,它肯定对我有用。

<?php
header("Content-Type: application/xml");
?><?xml version="1.0" encoding="utf-8"?>
<feedback>
    <result>False</result>
</feedback>

要么您的 php 有更多您没有向我们展示的内容,要么您的服务器软件中可能有一些错误配置。

更新

根据您在回答中提供的信息,我想说您可以通过将根元素更改为任何不以<feed. 正如我在评论中所说,有些东西错误地将其解释为 Atom 提要并重写了内容类型。

也就是说,假设有其他字符串(例如<rss)可能会触发内容类型的其他重写,因此如果您可以追踪导致错误的任何系统并摆脱它,那将是可取的。

于 2013-05-08T10:08:23.010 回答
0

我不能说什么技术解释。但是更改 XML 内容解决了我的问题。这是一个轻微的变化。我刚刚添加了一个顶级分支元素,

<?xml version="1.0" encoding="utf-8"?>
<data>
<feedback>
    <result>True</result>
</feedback>
</data>
于 2013-05-09T01:44:51.820 回答