Python入门:常用模块—xml模块

xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单

xml的格式如下,就是通过<>节点来区别数据结构的:

<data>

    <country name="Liechtenstein">

        <rank updated="yes">2</rank>

        <year updated="yes">2010</year>

        <gdppc>141100</gdppc>

        <neighbor direction="E" name="Austria" />

        <neighbor direction="W" name="Switzerland" />

    </country>

    <country name="Singapore">

        <rank updated="yes">5</rank>

        <year updated="yes">2013</year>

        <gdppc>59900</gdppc>

        <neighbor direction="N" name="Malaysia" />

    </country>

    <country name="Panama">

        <rank updated="yes">69</rank>

        <year updated="yes">2013</year>

        <gdppc>13600</gdppc>

        <neighbor direction="W" name="Costa Rica" />

        <neighbor direction="E" name="Colombia" />

    </country>

</data>

xml协议在各个语言里的都 是支持的,在python中可以用以下模块操作xml

import xml.etree.ElementTree as ET

tree = ET.parse("xmltest.xml")

root = tree.getroot()

print(root.tag)

# 遍历xml文档

for child in root:

    print(child.tag, child.attrib)

    for in child:

        print(i.tag, i.text)

# 遍历year节点

for node in root.iter('year'):

    print(node.tag, node.text)

# 修改和删除xml文档内容

# 修改

for node in root.iter('year'):

    new_year = int(node.text) + 1

    node.text = str(new_year)

    node.set('updated''yes')

tree.write("xmltest.xml")

# 删除

for country in root.findall('country'):

    rank = int(country.find('rank').text)

    if rank > 50:

        root.remove(country)

tree.write('output.xml')

自己创建xml文档

new_xml = ET.Element("namelist")

name = ET.SubElement(new_xml, "name", attrib={ "enrolled""yes"})

age = ET.SubElement(name, "age", attrib={ "checked""no"})

sex = ET.SubElement(name, "sex")

sex.text = '33'

name2 = ET.SubElement(new_xml, "name", attrib={ "enrolled""no"})

age = ET.SubElement(name2, "age")

age.text = '19'

et = ET.ElementTree(new_xml)        # 生成文档对象

et.write("test.xml", encoding="utf-8", xml_declaration=True)

ET.dump(new_xml)   # 打印生成的格式

相关推荐

  1. Python入门模块xml模块

    2024-02-18 22:44:04       45 阅读
  2. python入门模块—json&pickle模块

    2024-02-18 22:44:04       43 阅读
  3. Python模块

    2024-02-18 22:44:04       30 阅读
  4. Python 模块json

    2024-02-18 22:44:04       61 阅读
  5. Python 模块re

    2024-02-18 22:44:04       56 阅读
  6. Python 模块pickle

    2024-02-18 22:44:04       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-18 22:44:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-18 22:44:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-18 22:44:04       82 阅读
  4. Python语言-面向对象

    2024-02-18 22:44:04       91 阅读

热门阅读

  1. 图神经网络中的边的预测问题

    2024-02-18 22:44:04       53 阅读
  2. 编译相关内容(自用)

    2024-02-18 22:44:04       40 阅读
  3. 前端的开发规范

    2024-02-18 22:44:04       53 阅读
  4. mysql时间处理问题

    2024-02-18 22:44:04       53 阅读
  5. Day08-别名-重定向-去重排序等

    2024-02-18 22:44:04       38 阅读
  6. Linux :sh、可执行文件,无法使用. / 安装执行

    2024-02-18 22:44:04       54 阅读
  7. Leetcode 6-10题

    2024-02-18 22:44:04       41 阅读
  8. 游戏开发速成入门

    2024-02-18 22:44:04       51 阅读