{site_name}

{site_name}

🌜 搜索

Python XML 树和元素是指使用 Python 编程语言处理和操作 XML

Python 𝄐 0
python xml elementtree,python处理xml数据,python xml.etree,python xml xpath,python xml处理,python 操作xml
Python XML 树和元素是指使用 Python 编程语言处理和操作 XML 数据时,XML 文档被解析成一个树形结构(即 DOM,Document Object Model),其中根节点为整个文档,其他节点则作为其子节点存在。每个节点都可以被视为一个元素,具有标签名、属性和文本内容等属性。

以下是一个简单的 XML 示例:

xml
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications
with XML.</description>
</book>
<book id="bk102">
<author>Ralls, Kim</author>
<title>Midnight Rain</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-12-16</publish_date>
<description>A former architect battles corporate zombies,
an evil sorceress, and her own childhood to become queen
of the world.</description>
</book>
</catalog>


对于上述 XML 示例,可以使用 Python 内置模块 xml.etree.ElementTree 将其解析成 XML 树,并通过相应的 API 操作其元素。

python
import xml.etree.ElementTree as ET

# 解析 XML 文件
tree = ET.parse("example.xml")
root = tree.getroot()

# 遍历树的所有元素
for elem in root.iter():
print(elem.tag, elem.attrib, elem.text)


运行上述代码将输出以下结果:


catalog {}

book {'id': 'bk101'}

author {} Gambardella, Matthew

title {} XML Developer's Guide

genre {} Computer

price {} 44.95

publish_date {} 2000-10-01

description {} An in-depth look at creating applications
with XML.

book {'id': 'bk102'}

author {} Ralls, Kim

title {} Midnight Rain

genre {} Fantasy

price {} 5.95

publish_date {} 2000-12-16

description {} A former architect battles corporate zombies,
an evil sorceress, and her own childhood to become queen
of the world.


从输出结果可以看出,每个元素都被表示为一个对象,并且包含标签名、属性和文本内容等信息。例如,elem.tag 表示元素的标签名,elem.attrib 表示元素的属性,而 elem.text 则表示元素的文本内容。