0
私は、複数のルートがあるxmlドキュメントをPythonで解析する方法を研究していますが、失敗しています。誰でもこれを達成するための有益なサイトを知っているのですか、これができるかどうかについての洞察はありますか?私は以下のXMLファイルとPythonコードを持っています。私は 'NoneType'オブジェクトには、私のPythonコードの読み込みループに属性 'text'エラーがありません。複数の孫を持つxml docをPythonで解析する
XMLファイル:
<ThursdayDay12>
<event>
<title>Refrigerator/freezer</title>
<startHour>11</startHour>
<startMinute>00</startMinute>
<duration units = 'min'>780</duration>
<load units = 'W'>33.77</load>
<comment>
'HANOVER HANRT30C Model'
</comment>
</event>
<event>
<title>Temperature</title>
<startHour>7</startHour>
<startMinute>30</startMinute>
<duration units = 'min'>990</duration>
<load units = 'W'>3520</load>
<comment>
'Assume AC requirement for house is 1 TR=3.52 kW'
</comment>
</event>
<event>
<title>Indoor lighting</title>
<startHour>20</startHour>
<startMinute>00</startMinute>
<duration units = 'min'>240</duration>
<load units = 'W'>250</load>
<comment>
'LED lighting for 4 rooms'
</comment>
</event>
</ThursdayDay12>
<FridayDay13>
<event>
<title>TV</title>
<startHour>19</startHour>
<startMinute>30</startMinute>
<duration units = 'min'>150</duration>
<load units = 'W'>3.96</load>
<comment>
'VIZIO E28h-C1 model rated at 34.7 kWh/yr'
</comment>
</event>
<event>
<title>Heat water for showers</title>
<startHour>19</startHour>
<startMinute>30</startMinute>
<duration units = 'min'>150</duration>
<load units = 'W'>1385</load>
<comment></comment>
</event>
</FridayDay13>
</SD2017NominalEnergyUse>
Pythonのコード:
import xml.etree.ElementTree as ET
tree = ET.parse('SD2017NominalEnergyUse.xml')
root = tree.getroot()
title, start, end, load, duration = [],[],[],[],[]
for child in root:
for grandchild in child:
title.append(child.find('title').text)
sh = int(child.find('startHour').text)
sm = int(child.find('startMinute').text)
duration.append(float(child.find('duration').text))
start.append(sh*60+sm)
end.append(start[-1] + duration[-1])
load.append(float(child.find('load').text))
P = 0.0
for i in range(len(root)):
P = P+load[i]
print(P)
子どもと孫の属性を持つxmlファイルを解析するのに役立つものは見つかりませんでした –
@ZachThomas [PythonでXMLを解析するにはどうすればいいですか?](http://stackoverflow.com/questions/1912434/how-do- i-parse-xml-in-python) – Frangipanes
はい、xmlファイルを孫のパーツでファイルに解析する方法は扱いません。 etreeの解析はxmlファイルの孫の属性では機能しません –