python字典输入学生信息_如何用Python将XML中的所有信息输入字典
我通常使用標(biāo)準(zhǔn)庫中的ElementTree模塊解析XML。
它沒有給你一個(gè)字典,你得到了一個(gè)更有用的DOM結(jié)構(gòu),它允許你為孩子們遍歷每個(gè)元素。from xml.etree import ElementTree as ET
xml = ET.parse("
root_element = xml.getroot()
for child in root_element:
...
如果需要將其解析為字典,而不是從DOM樹中獲取所需的信息,則從根節(jié)點(diǎn)構(gòu)建字典的遞歸函數(shù)如下:def xml_dict(node, path="", dic =None):
if dic == None:
dic = {}
name_prefix = path + ("." if path else "") + node.tag
numbers = set()
for similar_name in dic.keys():
if similar_name.startswith(name_prefix):
numbers.add(int (similar_name[len(name_prefix):].split(".")[0] ) )
if not numbers:
numbers.add(0)
index = max(numbers) + 1
name = name_prefix + str(index)
dic[name] = node.text + "<...>".join(childnode.tail
if childnode.tail is not None else
"" for childnode in node)
for childnode in node:
xml_dict(childnode, name, dic)
return dic
對(duì)于上面列出的XML,將生成此字典:{'A1': '\n \n <...>\n',
'A1.B1': '\n \n <...>\n ',
'A1.B1.C1': '"blah"',
'A1.B1.C2': '"blah"',
'A1.B2': '\n \n <...>\n ',
'A1.B2.C1': '"blah"',
'A1.B2.C2': '"blah"'}
(我發(fā)現(xiàn)DOM表單更有用)
總結(jié)
以上是生活随笔為你收集整理的python字典输入学生信息_如何用Python将XML中的所有信息输入字典的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: centos 6.5 安装redis
- 下一篇: mysql设置token有效期_记住我
