我正在尝试以XML格式输出Tornado中的一些结果。我在python中构建了一个测试Tornado脚本,但是没有得到预期的结果。 这是脚本的片段:
from xml.etree.ElementTree import Element, SubElement, tostring, dump
class myCustomHandler(myBaseHandler):
@tornado.gen.coroutine
def _initialize(self):
root = Element('root')
child = SubElement(root, "child")
child.text = "I am a child"
res = tostring(root)
print ('res = ' + res)
raise tornado.gen.Return(res)
@tornado.web.asynchronous
@tornado.gen.coroutine
def get(self):
response = yield self._initialize()
print ('response = ' + str(response))
self.clear()
self.finish(response)
我得到的浏览器输出是:
“我还是个孩子”
而我期待的输出是:
< root>< child>我是小孩< / child>< / root>
我从那些print语句在控制台上获得此输出,但不在浏览器上。打印语句是我的调试。将finish语句更改为write也无济于事。
答案 0 :(得分:0)
使用write方法完成Tornado中的输出。将您的打印更改为self.write。
http://www.tornadoweb.org/en/stable/web.html?highlight=write#tornado.web.RequestHandler.write