2015-08-24 24 views
1

我想以XML格式輸出Tornado中的一些結果。我在python中構建了一個測試Tornado腳本,但沒有得到預期的結果。 這裏是腳本的一個片段:Tornado中的XML輸出

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> <孩子>我是小孩< /孩子> </root>

我在控制檯上從這些print語句得到這個輸出,但不是在瀏覽器上。打印語句是我的調試。將完成語句更改爲寫入也無濟於事。

回答

3

默認Content-Type在龍捲風是text/html。當您返回任何其他類型的回覆時,您必須自己設置標題,例如self.set_header('Content-Type', 'text/xml')

+0

本,你說得對。這解決了這個問題。謝謝。 – NetRocks