2011-08-21 35 views
17

Tôi muốn xuất xml thô theo cách tương tự như http://www.google.com/ig/api?weather=Mountain+View nhưng sử dụng PHP.Xuất XML thô bằng cách sử dụng php

Tôi có một kịch bản php rất đơn giản trên máy chủ web của tôi:

<?php 

     $output = "<root><name>sample_name</name></root>"; 
     print ($output); 
?> 

Tất cả tôi có thể thấy trong Chrome/firefox là "sample_name". Tôi muốn xem:

<root> 
    <name>sample_name</name> 
</root> 

Tôi không thể tìm thấy hướng dẫn cho bất kỳ điều gì đơn giản này.

Cảm ơn

Trả lời

51

Theo mặc định, PHP đặt loại nội dung thành văn bản/html, do đó trình duyệt hiển thị tài liệu XML của bạn dưới dạng trang HTML.

Đối với trình duyệt để điều trị các tài liệu dạng XML, bạn phải thiết lập các content-type:

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

Làm điều này trước khi in bất cứ điều gì trong kịch bản của bạn.

+0

trình tiết kiệm cuộc sống - cảm ơn –

3

Bạn chỉ thấy "sample_name" vì bạn không chỉ định rằng đầu ra của bạn là XML và trình duyệt nghĩ HTML của nó để XML-Elements của bạn được hiểu là HTML-Elements.

Để hiển thị XML thô sử dụng tiêu đề-thông tin:

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

này cần phải được gửi (đặt trong code) trước khi bạn đưa ra bất cứ điều gì khác.

+0

Trình tiết kiệm cuộc sống. Cảm ơn cậu. –

11
<?php 
header('Content-Type: application/xml'); 
$output = "<root><name>sample_name</name></root>"; 
print ($output); 
?> 
-2

Đơn giản cũng hoạt động, chỉ cần thêm điều là loại nội dung tiêu đề.

<?php 
    header('Content-Type: application/xml'); 
    $output = "<root><name>sample_name</name></root>"; 
    echo $output; 
?>   
+4

Bạn đã đăng câu trả lời chính xác như của tôi sau 5 năm, điểm là gì? –

0

Chỉ cần nhấn Control-U. Trình duyệt của bạn sẽ hiển thị mã nguồn của trang dưới một Tab mới, có thể là XML hoặc HTML hoặc bất kỳ thứ gì khác ...

Các vấn đề liên quan