zoukankan      html  css  js  c++  java
  • Python中模块之xml的讲解

                                             xml模块的功能介绍

    这里主要讲解xml模块下的etree.ElementTree类。

    1. 创建

    具体代码如下

    import xml.etree.ElementTree as XM
    namelist1 = XM.Element("namelist1")#创建标签
    name1 = XM.SubElement(namelist1,"name",attrib={"enrolled":"yes"})#创建子标签
    age1 = XM.SubElement(name1,"age",attrib={"checked":"33"})#创建下一级子标签
    sex1 = XM.SubElement(name1,"sex",)#创建最后一级子标签
    sex1.text = 'man'#对最后一级子标签添加text属性
    name2 = XM.SubElement(namelist1,"name",attrib={"enrolled":"no"})
    age2 = XM.SubElement(name2,"age",attrib={'actual':'19'})
    sex2 = XM.SubElement(name2,'sex')
    sex2.text = 'gril'
    et = XM.ElementTree(namelist1) #生成文档对象
    et.write("test.xml", encoding="utf-8",xml_declaration=True)
    XM.dump(namelist1) #打印生成的格式
    

    2. 修改

    具体代码如下

    xm_data = XM.parse('test.xml')
    data_root = xm_data.getroot()#获取第一级标签
    for i in data_root.iter('sex'):
        i.text = 'Super' + i.text
    # for j in data_root.iter('age'):#遍历出的属性为字典类型,可参考字典修改方法进行修改。
    #     print(j.attrib)
    xm_data.write('test.xml')
    

    3. 查询

    具体代码如下

    xm_data = XM.parse('test.xml')
    data_root = xm_data.getroot()#获取第一级标签
    print(data_root)
    for name in data_root:#遍历第一级标签
        print(name.tag,name.attrib)
        for age in name:#遍历第二级标签
            print(age.tag,age.text)
    for names in data_root.iter('name'):#过滤性变遍历
        print(names.tag,names.text)
    

    4. 删除

    具体代码如下 xmdata = XM.parse('test.xml') dataroot = xmdata.getroot()#获取第一级标签 for name in dataroot: for age in name.findall('age'): if age.attrib.get('actual'): name.remove(age) xm_data.write('test.xml')

  • 相关阅读:
    机器人学——1.6-双向量表示法
    机器人学——1.5-奇异点及万向节锁
    机器人学——1.4-三角度表示法
    机器人学——1.3-正交旋转矩阵
    MySQL数据库操作
    ArrayList和LinkedList的区别
    redis 常用命令
    idea快捷键
    Spring
    JDBC
  • 原文地址:https://www.cnblogs.com/single-boy/p/7616897.html
Copyright © 2011-2022 走看看