主要观点:几年前开始关于 XML 解析的系列文章,涵盖 lxml 的[etree]和 Python 内置的[minidom]库,最近发现 lxml 的 objectify 子包并决定研究,认为其比 etree 更“Pythonic”,通过示例展示 objectify 的使用。
关键信息:
- 提供的代码可解析和修改 XML,如通过
objectify.fromstring
解析 XML,利用root.attrib
获取元素属性,通过点号获取子标签元素值,使用iterchildren
遍历子元素,可改变元素值和添加新元素。 - 使用 objectify 会添加注释如
<em>xmlns:py="http://codespeak.net/lxml/objectify/pytype" py:pytype="str"</em>,可通过
etree.cleanup_namespaces(root)`去除,也可使用“objectify.deannotate(root)”但示例中未成功,保存新 XML 需使用 lxml 的 etree 模块转换为字符串。
重要细节: - 示例中使用的 XML 内容为特定格式的预约信息。
- 代码中有详细的注释解释各部分功能和用法。
- 展示了对 XML 进行各种操作的代码示例,包括获取属性、遍历元素、修改元素值和添加新元素等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。