【发布时间】:2017-08-16 23:18:04
【问题描述】:
访问 xmltodict 转换的值。我有一个看起来像这样的 xml
<PQ N="E90" RT="TG">
<CASES ASOF_DATE="8/11/2017" CREATE_DATE="8/13/2017" RECORDS="1130" >
<CASE>
<ID>E90</ID>
我正在尝试访问 CASE 字典。如果我删除第二个 XML 行并尝试返回 d[PQ]['CASE'],我会得到想要的结果这是代码:
def convert(xml_file, xml_attribs=True):
with open(xml_file, "rb") as f:
d = xmltodict.parse(f, xml_attribs=xml_attribs)
return (d['FUND'])
d 的输出如下所示:
OrderedDict([(PQ, OrderedDict([('@N', 'E90'), ('@RT', 'TG'), (CASES,
OrderedDict([('@ASOF_DATE', '8/11/2017'), ('@CREATE_DATE', '8/13/2017'),
('@RECORDS', '1130'), (CASE, [OrderedDict([('ID, E90), ..... so on
【问题讨论】:
-
CASE在CASES内,因此你需要`d[PQ]['CASES']['CASE'] -
不是这样的。由于它创建了一个有序字典,它不允许 d[PQ]['CASES']['CASE']。当我返回 d 时,我可以分享输出。这可能会有所帮助
-
这就是它的样子。我只需要访问 CASE 有序字典。
-
@stovfl。你能帮忙吗?
-
return (d[PQ][CASES][CASE]) KeyError: CASES
标签: python python-3.x xmltodict