0

我收到一个 HTTP POST。发送一个参数:xml

它包含一个 xml 文档。本文件的格式为:

 <?xml version="1.1" encoding="ISO-8859-1"?>
    <delivery_receipt>
    <version>1.0</version>
    <status>Delivered</status>
</delivery_receipt> 

我需要<status>从 POST 中获取内容,如何解析参数并获取“状态”?

更新....

如果请求.POST:

from lxml.cssselect import CSSSelector
from lxml.etree import fromstring

h = fromstring(request.POST['xml'])
h.cssselect('delivery_reciept status').text_content()

我不确定 request.POST['xml'] 是否会起作用

4

1 回答 1

2

您可以(并且应该)对 XML 文档使用 CSS 选择器,前提是您正在执行相对简单的任务来解析 XML 文档。CSS 选择器清晰易读,比 XPATH 查询更具表现力。

我建议安装lxml,并使用他们的cssselect功能。

您的最终结果可能如下所示:

>>> h = fromstring("""<?xml version="1.1" encoding="ISO-8859-1"?>
    <delivery_receipt>
      <version>1.0</version>
      <status>Delivered</status>
    </delivery_receipt> """)
>>> h.cssselect('delivery_reciept status').text_content()
于 2013-04-04T15:34:35.037 回答