2011-04-05 20 views
1

我想寫一個簡單的掛架行動來生成一些XML。這裏的要點,玩具XML:如何生成帶有適當CGI標頭的XML文件?

class HelloController(BaseController): 
    def index(self): 
     my_xml = etree.Element("root") 
     etree.SubElement(root, "child1") 
     etree.SubElement(root, "child2") 
     etree.SubElement(root, "child3") 

     return '<?xml version="1.0" encoding="UTF-8"?>\n'+etree.tostring(my_xml, pretty_print=True) 

但是,當我在Firefox中顯示這一點,這是一個亂碼一團糟 - Firefox不嘗試分析它爲XML。

問題是(我認爲)我沒有附加適當的CGI標題,但我找不到任何有關如何在掛架上執行此操作的文檔。我該怎麼辦?

謝謝!

回答

1

您需要返回聲明響應內容類型的響應HTTP標頭。在Pylons控制器中,您使用全局pylons.response(這是webob.Response的一個實例)對象。

在進口部分添加:

from pylons import response 

某處在你的控制器操作添加:

response.content_type = "text/xml" 
+0

完美!謝謝 – Abe 2011-04-06 13:50:20