я пытаюсь получить список значений полей 'RS1 / row / DEVICE_ID' и значения 'RS2 / row / COUNTS' отдельно от этого xml ответа, который у меня есть:
<?xml version="1.0"?>
<doc>
<md_dev.get_device_list status="0">
<RS1>
<row ROWNUM="1" DEVICE_ID="56378346" SERIAL="" MAC_ADDRESS="601BECBA14D9" IP_ADDRESS="127.0.0.1" STATUS="A" SMART_CARD_NUM="" CUSTOMER_ID="6473876" CST_NAME="STANDALONE, " DHCP="N" REGISTRATION_NUM="" REBOOT_STATUS="" DEVICE_NAME="test_device" PRIORITY="" DEVICE_TYPE="phone" />
<row ROWNUM="2" DEVICE_ID="86574563" SERIAL="" MAC_ADDRESS="D9170B346DAF" IP_ADDRESS="127.0.0.1" STATUS="A" SMART_CARD_NUM="" CUSTOMER_ID="6473876" CST_NAME="STANDALONE, " DHCP="N" REGISTRATION_NUM="" REBOOT_STATUS="" DEVICE_NAME="test_device" PRIORITY="" DEVICE_TYPE="phone" />
<row ROWNUM="3" DEVICE_ID="14134351" SERIAL="" MAC_ADDRESS="4ECE5EA9876D" IP_ADDRESS="127.0.0.1" STATUS="A" SMART_CARD_NUM="" CUSTOMER_ID="6473876" CST_NAME="STANDALONE, " DHCP="N" REGISTRATION_NUM="" REBOOT_STATUS="" DEVICE_NAME="Linux x86_64" PRIORITY="1" DEVICE_TYPE="phone" />
<row ROWNUM="4" DEVICE_ID="97653524" SERIAL="" MAC_ADDRESS="BC644B736870" IP_ADDRESS="127.0.0.1" STATUS="A" SMART_CARD_NUM="" CUSTOMER_ID="6473876" CST_NAME="STANDALONE, " DHCP="0" REGISTRATION_NUM="" REBOOT_STATUS="" DEVICE_NAME="test_device" PRIORITY="" DEVICE_TYPE="phone" />
<row ROWNUM="5" DEVICE_ID="76452782" SERIAL="" MAC_ADDRESS="abcd1f89869e" IP_ADDRESS="127.0.0.1" STATUS="A" SMART_CARD_NUM="" CUSTOMER_ID="6473876" CST_NAME="STANDALONE, " DHCP="N" REGISTRATION_NUM="" REBOOT_STATUS="" DEVICE_NAME="test_device" PRIORITY="" DEVICE_TYPE="phone" />
</RS1>
<RS2>
<row PAGES="1" COUNTS="5" />
</RS2>
</md_dev.get_device_list>
</doc>
I Я пытался, но безуспешно, чтобы получить это так:
from bs4 import BeautifulSoup
...
r = requests.get( ... )
soup = BeautifulSoup(r.text, "xml")
figure = soup.findAll('row')
for i in figure:
print(i['DEVICE_ID'])
Но я имею эту ошибку:
(List of devices IDs)
...
Traceback (most recent call last):
File "scripts/removeUserDevices.py", line 137, in <module>
print(i['DEVICE_ID'])
File "/home/user/.local/lib/python3.8/site-packages/bs4/element.py", line 1321, in __getitem__
return self.attrs[key]
KeyError: 'DEVICE_ID'