Python 使用XML.etree.ElementTree解析XML时获取空列表作为属性
因此,我使用Python3解析XMLPython 使用XML.etree.ElementTree解析XML时获取空列表作为属性,python,xml,python-3.x,cyrillic,Python,Xml,Python 3.x,Cyrillic,因此,我使用Python3解析XML text = ''' <body> <list> <item> <cmid>16934673</cmid> <day>29.02.2016</day> <relay>1</relay> <num>1</num
text = '''
<body>
<list>
<item>
<cmid>16934673</cmid>
<day>29.02.2016</day>
<relay>1</relay>
<num>1</num>
<starttime>08:15</starttime>
<endtime>08:55</endtime>
<subjid>81327</subjid>
<subjname>Литературное чтение</subjname>
<subjabbr>Лит.чт.</subjabbr>
<sgid>447683</sgid>
<sgname>Литературное чтение</sgname>
<tid>551817</tid>
<tlastname>Фамилия</tlastname>
<tfirstname>Имя</tfirstname>
<tmidname>Отчество</tmidname>
<roomid>68672</roomid>
<roomname>Филиал 1 кабинет</roomname>
</item>
</list>
</body>'''
所以我总是得到一张空的口述。但我找不到问题所在。我认为问题在于属性是西里尔字母,但当我尝试获取cmid
属性时,同样的问题也会发生
>>> doc = ET.fromstring(r.text.encode('utf-8'))
>>> print(doc[0][0][0].attrib)
{}
.attrib
在您的情况下是一个空字典,因为您显示的标记根本没有任何属性。你可能是想换成:
>>> doc = ET.fromstring(r.text.encode('utf-8'))
>>> print(doc[0][0][0].attrib)
{}
doc.find("subjname").text