python,如何从xml响应中添加变量值?

时间:2014-01-28 16:08:55

标签: xml python-2.7

我收到一个包含网站数据的xml响应。我想挑选特定xml标签<dcdIntegerValue>531</dcdIntegerValue>中的数据并将其分配给变量。目前我正在使用“response_body”来获得所述响应输出。如果重要的话,我正在使用python 2.7和httplib。我不知道在哪里可以找到有关如何执行此操作的信息。任何帮助表示赞赏。 谢谢 麦克

2 个答案:

答案 0 :(得分:4)

你可以使用pythons ElementTree:

编辑: 我忘了这个列表中的每个项目都是一种元素。您应该使用以下内容获取内容:

number = int(item.text)

import xml.etree.ElementTree as et

xmltree = et.ElementTree(file="yourxmlfile.xml")
intList = xmltree.getroot().iterfind(".//dcdIntegerValue")

for item in intList:
    number =int(item.text)
    #do whatever you want with your number

http://docs.python.org/2/library/xml.etree.elementtree.html

答案 1 :(得分:2)

为什么不使用正则表达式?

import re
import urllib
stream=urllib.urlopen("http://....")
result=re.search('<dcdIntegerValue>(\d*)</dcdIntegerValue>',stream.read(),re.IGNORECASE)
if result:
     value=result.group(1)

也许有点“野蛮”,但我认为它有效。

灵感来自: extract contents of regex