2009-06-16 60 views
0

我正在同时学习Python和Django。我试图创建一个XML文档来从视图返回一些XML。目前我正在使用django开发服务器,并且不断收到这些信息,而不是我尝试创建的文档。xml.dom.minidom Python/django中的Document()输出内存位置

这里是我的代码

from django.http import HttpResponse 
    from mypoject.myapp.models import Username 
    from django.core import serializers 
    from xml.dom.minidom import Document 
    import datetime 


    def authenticate(request, username): 
     if request.method == "GET": 

      #Try to get the username 
      try: 
       checkUser = Username.objects.get(username__exact = username) 
       user = userCheck.get(username__exact = username) 
       userXML = serializers.serialize("xml", checkUser) 

      except Username.DoesNotExist: 
       #return XML with status "Failed" 
       return HttpResponse(xml, mimetype="text/xml")  
      except: 
       #return XML with status "Failed" 

       xmlFailed = Document() 

       meta = xmlFailed.createElement("meta") 
       xmlFailed.appendChild(meta) 

       status = xmlFailed.createElement("status") 
       meta.appendChild(status) 
       statusText = xmlFailed.createTextNode("Failed") 
       status.appendChild(statusText) 

       message = xmlFailed.createElement("message") 
       meta.appendChild(message) 

       totalRecords = xmlFailed.createElement("totalRecords") 
       meta.appendChild(totalRecords) 

       executionTime = xmlFailed.createElement("executionTime") 
       meta.appendChild(executionTime) 

       return HttpResponse(xmlFailed, mimetype="text/xml") 
      else: 
       #return happy XML code with status "Success" 

而这里发生了什么事情,当我在浏览器中查看它的屏幕...

<xml.dom.minidom.Document instance at 0x993192c> 

如果我注释掉文件()创造,消失。所以我想我只是需要它不吐出信息。我一直在寻找所有的东西,我找不到一个海峡的答案,这导致我相信我错过了显而易见的东西。

感谢您的帮助!

回答

1

您需要拨打电话xmlFailed.toxml()或类似的东西才能将XML从对象中取出 - 看起来您不是正在做的事(在您没有看到的代码中)。

+0

谢谢。这里我需要\t \t \t xmlResponse = xmlFailed.toxml( “UTF-8”) \t \t返回的HttpResponse(xmlResponse,mime类型= “文本/ XML”) – 2009-06-16 04:19:45