StackOverflow上似乎有很多解决方案用于将
XML转换为
Python字典,但它们都没有生成我正在寻找的输出.我有以下XML:
<?xml version="1.0" encoding="UTF-8"?> <status xmlns:mystatus="http://localhost/mystatus"> <section1 mystatus:field1="data1" mystatus:field2="data2" /> <section2 mystatus:lineA="outputA" mystatus:lineB="outputB" /> </status>
lxml has an elegantly simple solution用于将XML转换为字典:
def recursive_dict(element): return element.tag,dict(map(recursive_dict,element)) or element.text
不幸的是,我得到:
('status',{'section2': None,'section1': None})
代替:
('status',{'section2': {'field1':'data1','field2':'data2'},'section1': {'lineA':'outputA','lineB':'outputB'} })
我无法弄清楚如何获得我想要的输出而不会使recursive_dict()函数大大复杂化.
我没有与lxml绑定,只要它给了我xml中的所有信息,我也可以使用不同的字典组织.谢谢!