xmltodict默认将XML属性转为@key形式,如@id、@category;可通过attr_prefix参数自定义前缀或忽略;含文本和属性的标签用#text键存文本;命名空间和多值属性按原样处理。

xmltodict 默认会把 XML 属性转为以 @ 开头的键名,嵌套在对应元素的字典中。这是它的核心约定,不是 bug,而是设计选择。
属性默认变成 @key 形式
比如这段 XML:
<book id="123" category="fiction"> <title>Python Guide</title> </book>
登录后复制
用 xmltodict.parse() 解析后,结果是:
{
"book": {
"@id": "123",
"@category": "fiction",
"title": "Python Guide"
}
}登录后复制
所有属性都自动加了 @ 前缀,和子元素同级,避免命名冲突。
立即学习“Python免费学习笔记(深入)”;
自定义属性前缀(去掉 @ 或换符号)
通过 attr_prefix 参数可修改前缀:
-
attr_prefix=""→ 属性直接用原名(但可能和子元素名冲突) -
attr_prefix="_"→ 变成_id、_category -
attr_prefix=None→ 属性被忽略(不推荐,除非明确不需要)
示例:
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~