我正在尝试编写一个简单的pylons动作来生成一些xml。这是关于玩具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标题,但我找不到任何关于如何在pylons中执行此操作的文档。我该怎么办?
谢谢!
答案 0 :(得分:1)
您需要返回响应HTTP标头,该标头声明响应的内容类型。在Pylons控制器中,您可以使用全局pylons.response
(这是webob.Response)对象的实例。
在导入部分添加:
from pylons import response
在控制器操作的某处添加:
response.content_type = "text/xml"