所以我使用 python 3 来解析 XML。
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>'''
Run Code Online (Sandbox Code Playgroud)
我尝试subjname使用xml.etree.ElementTree这种方式获取。
>>> import xml.etree.ElementTree as ET
>>> doc = ET.fromstring(text)
>>> print(doc[0][0][7].tag)
subjname
>>> print(doc[0][0][7].attrib)
{}
Run Code Online (Sandbox Code Playgroud)
所以我总是得到一个空的字典。但我找不到问题所在。我以为问题是属性是西里尔文的,但是当我尝试获取cmid属性时出现同样的问题
>>> doc = ET.fromstring(r.text.encode('utf-8'))
>>> print(doc[0][0][0].attrib)
{}
Run Code Online (Sandbox Code Playgroud)