如何使用xmltodict的parse方法来解析XML文档中的属性选项?
- 内容介绍
- 相关推荐
本文共计952个文字,预计阅读时间需要4分钟。
很多人上来就直接使用 `xmltodict.parse(xml_str)`,发现XML中的 `id` 属性。
要让属性进字典,必须传 xml_attribs=True:
import xmltodict data = xmltodict.parse('<user id="123" type="admin"><name>Alice</name></user>', xml_attribs=True)
这时 data['user']['@id'] 是 "123",data['user']['@type'] 是 "admin"。注意属性全被挂到 @xxx 键下,这是固定前缀,不能改。
属性和子元素同名时,@xxx 和 xxx 会并存,别误判为重复键
XML 允许 <item id="1"><id>2</id></item> 这种写法。启用 xml_attribs=True 后,解析结果里 item 字典会同时有 @id 和 id 两个键,值不同。
本文共计952个文字,预计阅读时间需要4分钟。
很多人上来就直接使用 `xmltodict.parse(xml_str)`,发现XML中的 `id` 属性。
要让属性进字典,必须传 xml_attribs=True:
import xmltodict data = xmltodict.parse('<user id="123" type="admin"><name>Alice</name></user>', xml_attribs=True)
这时 data['user']['@id'] 是 "123",data['user']['@type'] 是 "admin"。注意属性全被挂到 @xxx 键下,这是固定前缀,不能改。
属性和子元素同名时,@xxx 和 xxx 会并存,别误判为重复键
XML 允许 <item id="1"><id>2</id></item> 这种写法。启用 xml_attribs=True 后,解析结果里 item 字典会同时有 @id 和 id 两个键,值不同。

