[英]Obtain element's value in xml via python
How can I obtain the values inside an element which has entitites and values? 如何获得具有实体和值的元素内的值?
The element are inside "level" Below are sample xml : 元素在“级别”内以下是示例xml:
<observations>
<station wmo-id="94576" bom-id="040913" tz="Australia/Brisbane" stn-
name="BRISBANE" stn-height="8.13" type="AWS" lat="-27.4808" lon="153.0389"
forecast-district-id="QLD_PW015" description="Brisbane">
<period index="0" time-utc="2018-03-29T05:50:00+00:00" time-local="2018-03-
29T15:50:00+10:00" wind-src="OMD">
<level index="0" type="surface">
<element units="Celsius" type="apparent_temp">29.0</element>
<element units="Celsius" type="delta_t">2.1</element>
<element units="km/h" type="gust_kmh">11</element>
<element units="knots" type="wind_gust_spd">6</element>
<element units="Celsius" type="air_temperature">25.4</element>
<element start-time-local="2018-03-29T09:00:00+10:00" end-time-local="2018-
03-29T15:51:00+10:00" duration="411" start-time-utc="2018-03-
28T23:00:00+00:00" end-time-utc="2018-03-29T05:51:00+00:00" units="mm"
type="rainfall">0.8</element>
</level>
</period>
</station>
</observations>
I have tried using for loop which able to return results up to 我已经尝试过使用for循环,它最多可以返回结果
for station in root[1]:
stnname = station.attrib['stn-name']
for perioddata in station:
index = perioddata.attrib['index']
for leveldata in perioddata:
typedata = leveldata.attrib['type']
for elementdata in leveldata:
value = elementdata.attrib['type']
print(value)
#result shows only type but not type's value
#the result i want is apparent_temp & 29.0
Given this element: 鉴于此元素:
<element units="Celsius" type="apparent_temp">29.0</element>
units
and type
are attributes of the element, but 29.0
is the text of the element. units
和type
是元素的属性 ,但是29.0
是元素的文本 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.