Вы можете создать точечное пространство имен псевдонимов для более простых запросов xpath
from xml.etree.cElementTree import ElementTree
tree = ElementTree(file="file.xml")
root = tree.getroot()
namespaces = {
"p": "http://www.w3.org/2005/Atom",
"m": "http://schemas.microsoft.com/ado/2007/08/dataservices/metadata",
"d": "http://schemas.microsoft.com/ado/2007/08/dataservices",
}
xpath = "p:entry/p:content/m:properties"
res = root.findall(xpath, namespaces=namespaces)
values = []
for x in res:
values.append(
{
"Title": x.find("d:Title", namespaces=namespaces).text,
"Date": x.find("d:Date", namespaces=namespaces).text,
"Day": x.find("d:Day", namespaces=namespaces).text,
"Night": x.find("d:Night", namespaces=namespaces).text,
"Accuweather": x.find("d:Accuweather", namespaces=namespaces).text,
"Gismeteo": x.find("d:Gismeteo", namespaces=namespaces).text,
}
)
print(values)
Печать
[
{
"Title": "Лисаковск",
"Date": "2020-02-12T00:00:00Z",
"Day": "-8",
"Night": "-14",
"Accuweather": "Теплее",
"Gismeteo": "Переменная облачность, небольшой снег",
}
]