【问题标题】:Get XML from python HttpResponse从 python HttpResponse 获取 XML
【发布时间】:2012-11-06 08:16:21
【问题描述】:

有什么方法可以从 python HttpResponse 获取 xml 数据(通过 Javascript)并将其放入网页的 body 元素中?

在python中有我的xml示例:

import xml.etree.ElementTree as ET

root = ET.Element("table")

tr = ET.SubElement(root, "tr")
td = ET.SubElement(tr, "td")
td.text = "some text"
tree = ET.ElementTree(root) 

response = HttpResponse(tree)

JS:

$(document).ready(function() {
  $.get("http://localhost:8000/getXml", function(data){
    alert(data);
  });      
});

感谢您的帮助。

【问题讨论】:

    标签: javascript python html xml django


    【解决方案1】:

    HTML 是 XML,因此您作为 HTTP 响应返回的任何 HTML(部分,而不是完整页面,即没有 <head><body> 标记)都可以插入网页中。

    这就是 ajax 请求的作用。

    您想使用 XML API 构建响应吗?虽然你可以这样做,但 django template 非常适合。以任何方式构建响应,获取字符串表示并作为响应返回。

    【讨论】:

    • 谢谢,我只是添加:resp = ET.tostring(root,encoding="us-ascii", method="html") 就可以了。
    • 与问题无关,但 HTML 不是 XML。 XHTML 是 XML,但其他版本的 HTML(包括 HTML5)可能是完全有效的,但也是无效的 XML。
    【解决方案2】:

    我同意 Rohan 的观点,如果您尝试将数据从 Python 提供给 Web 客户端,或者作为 HTML/CSS/Javascript 的混合体,或者您有什么,那么您应该研究 Python。检查此Django tutorial。这太棒了,我只花了几天时间就完成了,并且允许很多不同的应用程序。 Onion,如果你听说过它显然使用 Django。

    【讨论】:

      猜你喜欢
      • 2012-06-23
      • 2016-02-28
      • 1970-01-01
      • 1970-01-01
      • 2011-09-19
      • 2020-09-18
      • 1970-01-01
      • 2020-02-14
      • 1970-01-01
      相关资源
      最近更新 更多