XML模块

XML是一种可扩展标记语言,用于描述数据结构,常用于文档结构定义。本文介绍了XML的基本语法,包括标签、属性和文本内容,并讲解了Python中xml模块的使用,如iter、find和findall函数,用于解析和查找XML文件中的元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

"""
    XML
        是什么
        eXtensible Markup Language可扩展标记语言
        xml也是一种文档结构 ,也是一种序列化方式
        与json不同的地方在于 XML可以定义文档的结构 例如在页面中 有页头页尾等...
    语法格式:
        使用标签来描述数据
        <tag></tag>
        通常由一对标签组成  开始标签和结束标签
        <tag/> 单标签 直接再名字后面加上斜杠结束

        一个标签由三个部分组成
            1.标签名
            2.属性
                <tag name="刘xx" age = "20"></tag>
                属性名称为name 值为刘xx  注意值必须放在双引号中
            3.文本内容
                 <tag>这是文本内容</tag>
        标签可以嵌套
            <persons>
                <p name="a"></p>
                <p name="b"></p>
            </persons>
            标签嵌套时 关闭的顺序与打开的顺序 相反

        注意:最外层必须只有一个根标签

        <info name="self" age="18" sex="woman"/>

    xml模块的使用
        xml模块的主要功能就是 解析xml  即序列化和反序列化

    对于xml格式的数据 一般不会使用代码来生成 更多的是读取xml的文件内容

    主要函数:
        iter
        find
        findall
"""
import xml.etree.ElementTree as ET
# 解析某个文件
tree = ET.parse("test.xml")
# 获取根标签
root = tree.getroot()

# print(root)
# # tag 获取标签名字
# print(root.tag)
# 获取文本
# print(root.text)
# 获取属性 返回一个字典
# print(root.attrib)

# 获取子标签(元素,节点)
# iter 在全文范围查找所有名字匹配的
# res = root.iter("country")
#
# print(list(res))

# res = root.iter("year")
# for i in res:
#     print(i.text)

# find 当前标签的子标签 并且只返回第一个
# res = root.find("country")
# print(res)
#
# # 可以一级一级往里找
# res = root.find("country").find("year")
# print(res)
# # print(res.attrib["name"])

# findall 当前标签的子标签 并且只返回所有匹配的
# res = root.findall("country")
# print(res[1].tag)


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值