Я использую дерево элементов, чтобы проанализировать следующий результат вызова API.Анализ результатов API XML с помощью ElementTree
<response status="success" code="19">
<result total-count="1" count="1">
<users>
<entry name="admin">
<phash>$$$$$</phash>
<permissions>
<role-based>
<superuser>yes</superuser>
</role-based>
</permissions>
</entry>
<entry name="tester">
<permissions>
<role-based>
<superuser>yes</superuser>
</role-based>
</permissions>
<phash>$$$$$</phash>
</entry>
</users>
</result>
Я хотел бы просто напечатать имя, которое является атрибутом записи. Для этого я использую следующий код.
def BP01002(ip, apikey):
xpath = "/config/mgt-config/users"
rulequery = {'type': 'config', 'action': 'get', 'key': apikey, 'xpath': xpath}
rrule = requests.get('https://' + ip + '/api', params = rulequery, verify=False)
rresp = ET.fromstring(rrule.text)
user = rresp.findall("./result/users")
print user
Если я просто запускаю пользователя печати, я получаю следующий ответ, который я ожидаю.
[<Element entry at 6ffff0948c0>, <Element entry at 6ffff094a28>]
Если я пытаюсь напечатать текст результата с помощью user.text или user.attrib, я получаю следующую ошибку.
AttributeError: 'list' object has no attribute 'text'
Как я могу вытащить только текстовые данные имени ввода?
Это было ... Спасибо !!! –