用php打印xml

时间:2011-09-01 07:55:00

标签: php xml

我有这个PHP代码

    <?php
    $status_code=1;
    echo "<?xml version=\"1.0\"?>\n";
    echo "<response>\n";
    echo "\t<status>$status_code</status>\n";
    echo "\t<time>" . time() . "</time>\n";
    if ($status_code == 1) {
            echo "\t<message>\n";
            echo "\t\t<author>Vlad</author>\n";
            echo "\t\t<text>Ova e poraka</text>\n";
            echo "\t</message>\n";
    }
    echo "</response>";
    ?>

为什么我没有在浏览器中获取打印的xml代码?

通过直接在php中打印xml代码来创建ajax请求也是一个好习惯,还是应该使用一些xml php函数来创建xml代码?

我想使用这个tutorial使用jquery,ajax,php和mysql来创建一个聊天系统,但是我得到上面打印的xml格式不正确的错误

4 个答案:

答案 0 :(得分:3)

尝试查看您的来源,xml在那里,但只是不可见。您的浏览器将尝试将该页面显示为HTML,因为您没有提供正确的标题。由于没有标签,你什么都看不到。

您应该发送正确的标题,如下:

header('content-type: text/xml')

答案 1 :(得分:2)

你必须放置标题(让浏览器知道如何渲染显示):

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

答案 2 :(得分:2)

正如其他人所说,你需要给浏览器一个标题,让它知道如何显示页面。

至于xml函数,请查看PHP SimpleXMLElement

答案 3 :(得分:0)

您必须使用正确的内容类型,正如其他人所说的那样。 我建议你使用XMLReader。 或者,如果您想要一种更简单的方法,那么尝试使用Heredoc字符串语法与sprintf和htmlspecialchars一起编码具有XML特殊含义的字符的值(例如&lt;&gt;&amp;)