Python3 XML 解析


Python3 XML 解析

XML(Extensible Markup Language)是一种标记语言,它可以定义自己的标记,用于描述数据。在 Python3 中,使用标准模块 xml 进行 XML 解析。

1. 解析 XML 文件

解析 XML 文件的步骤如下:

  1. 导入 ElementTree 模块

    import xml.etree.ElementTree as ET
    
  2. 解析 XML 文件

    tree = ET.parse('example.xml')
    

    以上代码将 XML 文件解析成一个 ElementTree 对象 tree

  3. 获取根元素

    root = tree.getroot()
    

    根元素是整个 XML 文件的最顶层元素,使用 getroot() 方法可以获取到。

  4. 遍历 XML 文档

    可以使用 iter() 方法遍历整个 XML 文档:

    for element in root.iter():
        print(element.tag, element.text)
    

    以上代码输出 XML 文档中每个元素的标签和内容。

2. 获取元素的属性

可以使用 get() 方法获取元素的属性:

attribute_value = element.get('attribute_name')

其中,attribute_name 是属性的名称。

3. 查找元素

可以使用 find() 方法查找元素:

element = root.find('element_name')

其中,element_name 是要查找的元素的名称。

如果要查找多个元素,可以使用 findall() 方法:

elements = root.findall('element_name')

4. 创建新的 XML 文档

可以使用 Element() 方法创建新的元素:

new_element = ET.Element('element_name')

其中,element_name 是元素的名称。

如果要给元素添加属性,可以使用 set() 方法:

new_element.set('attribute_name', 'attribute_value')

如果要为元素添加文本内容,可以使用 text 属性:

new_element.text = 'text_content'

如果要将元素添加到父元素中,可以使用 append() 方法:

parent_element.append(new_element)

最后,使用 ElementTree() 方法将元素树写入文件:

tree = ET.ElementTree(root_element)
tree.write('new_example.xml')