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')

  • 相关阅读:
    golang中os/user包用法
    golang中os包用法
    与table有关的布局
    jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version
    canvas里调用getImageData的报security的问题
    CSS样式覆盖规则
    windows7文件夹怎样默认图片大图显示?
    Jboss,Tomcat 远程调试配置
    IE(IE6/IE7/IE8)支持HTML5标签
    JS 继承(类式 与 原型式)
  • 原文地址:https://www.cnblogs.com/single-boy/p/7616897.html
Copyright © 2011-2022 走看看