Я пытаюсь найти дни, когда maxtemp больше 0. Однако следующий код дает мне пустой список.
Я попытался использовать пример с примерами w3schools xpath, где он находит название книг, цена которых превышает 35.
Пример: /bookstore/book[цена>35]/название
XML:
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="children">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<book category="web">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
Это код и XML-файл, с которым я пытаюсь работать:
import xml.etree.ElementTree as ET
tree = ET.parse('SaintJohn.xml')
root = tree.getroot()
list=root.findall('.//stationdata[maxtemp>0]/maxtemp')
for i in list:
print(i.text)
Это файл XML:
<climate>
<stationdata day="1" month="1" year="2019">
<maxtemp description="Maximum Temperature"
units="°C">1.9</maxtemp><mintemp description="Minimum Temperature"
units="°C">-10.6</mintemp><meantemp description="Mean Temperature"
units="°C">-4.4</meantemp><heatdegdays description="Heating Degree
Days" units="°C">22.4</heatdegdays>
</stationdata>
<stationdata day="2" month="1" year="2019"><maxtemp
description="Maximum Temperature" units="°C">-10.6</maxtemp>
<mintemp description="Minimum Temperature"
units="°C">-22.4</mintemp><meantemp description="Mean Temperature"
units="°C">-16.5</meantemp><heatdegdays description="Heating
Degree Days" units="°C">34.5</heatdegdays></stationdata>
</climate>
Я хотел бы только один элемент в списке.