如何在Python中解析像Dictionary一样的XML

时间:2014-06-21 16:12:43

标签: json dictionary

我是Python的新手,我一直试图让Pars的名字变得更糟,并且很难这样做。

我需要解析fNames ...

{"values":
    {"entries":"uri", "type":"xs:string", "unique-value":
        [{"entry":1, "fName":"\/abc.txt"},
         {"entry":1, "fName":"\/def.txt"},
         {"entry":1, "fName":"\/xyz.txt"},
         {"entry":1, "fName":"\/file.doc"},
         {"entry":1, "fName":"\/file2.txt"}
        ]
    }
}

这是我的代码:

for entry in j['values']['entries']:
    print entry['entry']['fName']

1 个答案:

答案 0 :(得分:1)

我不确定你的解析是什么意思,但如果你只是想得到fName的值,你可以简单地遍历列表:

import json
text = """{.....}"""
json_data = json.loads(text)
for value in json_data['values']['unique-value']:
    print "entry:", value['entry'], "-- fName:", value['fName']

<强>输出:

entry: 1 -- fName: /abc.txt
entry: 1 -- fName: /def.txt
entry: 1 -- fName: /xyz.txt
entry: 1 -- fName: /file.doc
entry: 1 -- fName: /file2.txt

您的代码无法正常工作的原因是因为entryfName都是来自同一字典的键/值。这意味着要使代码正常工作,json布局必须如下所示:

[{"entry": {"fName": "/abc.txt"}}, {"entry": {"fName": "/def.txt"}}]