使用元素树用Python解析XML Soap响应
我有一个这种格式的XML Soap响应,它具有以下信息用户名:Fulname:State:State Duration:使用元素树用Python解析XML Soap响应,python,xml,soap,elementtree,Python,Xml,Soap,Elementtree,我有一个这种格式的XML Soap响应,它具有以下信息用户名:Fulname:State:State Duration: <return> <columns> <values> <data>Username</data> <data>Full Name</data> <da
<return>
<columns>
<values>
<data>Username</data>
<data>Full Name</data>
<data>State</data>
<data>State Duration</data>
</values>
</columns>
<rows>
<values>
<data>user1@test.com</data>
<data>User1</data>
<data>Logged Out</data>
<data>309</data>
</values>
</rows>
<rows>
<values>
<data>user2@test.com</data>
<data>User2</data>
<data>Logged In</data>
<data>165</data>
</values>
</rows>
<rows>
<values>
<data>user3@test.com</data>
<data>User3</data>
<data>Logged Out</data>
<data>109</data>
</values>
</rows>
</return>
工作得很有魅力!!谢谢!我怎么称呼你?上帝?@richie你最好自己努力,StackOverflow不是回答你家庭作业问题的地方。
from xml.etree import ElementTree
root = ElementTree.fromstring(input_data['tmp'])
tree = ElementTree.parse(input_data['tmp'])
print tree.find('.//Data').text
input_data = """<return>
<columns>
<values>
<data>Username</data>
<data>Full Name</data>
<data>State</data>
<data>State Duration</data>
</values>
</columns>
<rows>
<values>
<data>user1@test.com</data>
<data>User1</data>
<data>Logged Out</data>
<data>309</data>
</values>
</rows>
<rows>
<values>
<data>user2@test.com</data>
<data>User2</data>
<data>Logged In</data>
<data>165</data>
</values>
</rows>
<rows>
<values>
<data>user3@test.com</data>
<data>User3</data>
<data>Logged Out</data>
<data>109</data>
</values>
</rows>
</return>"""
from xml.etree import ElementTree
root = ElementTree.fromstring(input_data)
data = [c.text for c in root.findall('.//rows/values/data')]
i = 1
for u, l in zip(data[::4], data[2::4]):
if l == 'Logged In':
print('"%i" Name of logged in users - "%s"' % (i, u))
i += 1
print('Duration: %i' % sum(int(d) for d in data[3::4]))
"1" Name of logged in users - "user2@test.com"
Duration: 583