使用xmltodict从已解析的xml文件的键中删除特殊字符

Sne*_*l K 2 python xml xml-parsing xmltodict

我已经使用该xmltodict模块解析了一个xml文件,并将结果存储在词典的字典中。

现在我想删除的特殊字符@,并#在字典中的每一个关键。

def remove_using_json(parse_result):
    data = {}
    data = json.dumps(parse_result)
    #print data
    #for d in data:
    for key, value in data.iterkeys():
        if key[0] == '@':
            data[key]=key.strip("@")
        elif key[0] == '#':
            data[key] =key.strip("#")
Run Code Online (Sandbox Code Playgroud)

vmm*_*m86 7

您不应该从响应中删除这些特殊字符。

您可以选择完全不让他们参与您的回复。;-)

result = xmltodict.parse(response, attr_prefix='@', cdata_key='#text')
Run Code Online (Sandbox Code Playgroud)

这些是默认选项,但是您可以设置attr_prefix=''为摆脱@符号,并cdata_key以相同的方式进行更改。

PS此外,dict_constructor=dict例如,如果您不希望使用将其转换回XML ,也可以使用它在解析的响应中创建字典而不是OrderDicts xmltodict.unparse()

  • 这是正确答案,应标记为 (2认同)