Я пишу скрипт на python, который должен получать выходные значения в байтовом формате в переменную.Есть два гнезда для петель.Первый цикл for собирает имя арендатора и помещает его в функцию, чтобы получить список пространств имен внутри него.Этот список пространства имен представляет собой файл XML и выводится в виде байтового типа данных.
Пример показан ниже:
Source = b'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><namespaces><name>Namespacename1</name><name>Namespacename2</name>'
import lxml
from xml.etree import ElementTree as ET
for tenant in tenants:
c.GET('/mapi/tenants/'+tenant+'/namespaces')#This comes from another sdk so ignore this
c.response_status # this also is part of the sdk so ignore this
source = c.read() # This operation is also part of the sdk so ignore this as well
print(source)
nslist = et.fromstring(source)
Дело в том, что мне нужно получить много дочерних элементов с именем 'name' из каждого из этих выходных данных xml (в формате "байты")), которая хранится внутри переменной с именем source, и каждое из этих значений 'name' должно быть добавлено в новую переменную списка.
Некоторые из ответов xml пусты, и я продолжаю получать ошибку синтаксического анализа xml, когда япопробуйте перебрать каждый из них, чтобы выполнить это действие.Я попробовал условие if else, чтобы попытаться игнорировать это.Это тоже не удалось!
Я много читал документацию по xml.etree, а также протестировал несколько циклов for.Ничего не помогло, к сожалению.Может ли кто-нибудь помочь мне с этим разобраться?