阻止PHP自动解析XML

时间:2012-08-27 15:40:34

标签: html xml

我正在使用如下所示的代码对网站进行api调用:

 $xmlData = file_get_contents("http://isbndb.com/api/books.xml?access_key=XXXXXX&index1=isbn&value1=0596002068");

 echo $xmlData;

但是,在浏览器上显示的xmlData会自动解析为HTML。对于例如返回的XML(实际上是书名)的元素<title>被转换为HTML,基本上成为页面标题,其他XML元素显示为没有标签的纯文本。我希望客户端XMLHttpRequest对象从服务器端获取原始XML数据。


为什么会发生这种情况?如何确保不自动解析XML?

2 个答案:

答案 0 :(得分:4)

PHP只是将其视为文本。例如,执行echo "<b>Bold</b>";,它将“自动”以粗体显示。它是处理HTML并呈现它的浏览器。

这是htmlspecialchars的用途。

答案 1 :(得分:1)

这与php无关。你吐出浏览器解释为HTML的元素(这就是它设置标题的原因)。正确构建您的html页面,在您的内容周围使用<pre>标记,或。在需要时,使用正确的内容类型标题发送您的内容(例如text/plain以显示您的xml以供查看,或text/xml用于其他目的),因此它不会将您的数据解析为html。