zoukankan      html  css  js  c++  java
  • 模块XML真垃圾

    一.xml模块 
    什么是xml
       是一种标记语⾔言(计算机能识别的文本)
    二.xml有 什么用
    制定一种 文本书写规范,使得计算机能够轻松识别这些数据 就和python 一样
    为什么直接用python语⾔言来进⾏行行传输,计算机识别起来太费劲(语法太 多,变化太复杂)
    所以需一种更加简单的解决方案.
     三.xml语法标准  
    1、任何的起始标签都必须有  一个结束标签。
    2、可以采 用另  一种简化语法,可以在  一个标签中同时表示起始和结束标签。
    这种语法是在⼤大于符号之前紧跟  一个斜线(/),例例如<百度百科词条/>。
    XML 解析器器会将其翻译成<百度百科词条></百度百科词条>。
    3、标签必须按合适的顺序进⾏行行嵌套,所以结束标签必须按镜像顺序匹配 起始标签。这好⽐比是将起始和结束标签看作是数学中的左右括号:在没有关闭所有的内部括号之前,是 不能关闭外面的括号的。
     4、所有的特性都必须有值。
    5、所有的特性都必须在值的周围加上双引号。
    总结
     xml 是  一种数据格式遵循  一定书写规范, 用于多个平台之 间的数据交换,和json的作用是 一样的
     
    python中的xml 学习重点
    1.标签的组成
     <tagname attributename="value"> text <subtags/> </tagname>
     
    2.数据解析(拿到想要的数据)
     3.代码生成xml 文档 
    了解知识点
     1.数据的修改
     重点******
    数据准备
    <studentinfo>
        <张三>
            <age>20</age>
            <gender>man</gender>
        </张三>
        <李四>
            <age>20</age>
            <gender>man</gender>
        </李四>
    </studentinfo>
    ==========
    导 入核⼼心模块
     import xml.etree.ElmentTree    表示节点树
    ===================
    数据解析
     Elment核心成员
    tag attrib  text
    ===========
    常用方法
    Elment getchildren() 获取所有子标签
    find         从子标签中获取名字匹配的第 一个子标签
    findall       从子标签中获取名字匹配的所有子标签
    iter         从子全 文中中获取名字匹配的所有标签 返回迭代器器
    get     获取指定属性的值
    append  删除子标签
    remove  删除子标签
    ================
    Elmenttree
    parse 文本 文件转对象
    dump   对象转文本
    write   写入
    getroot  获取根标签 
    生成xml
    创建节点
    添加内容
    转为节点树
    写入文件

    代码如下:

    import xml.etree.ElementTree as ElementTree
    tree=ElementTree.parse("d.xml") #解析文件找到文件
    # print(tree)
    #获取根标签
    rootTree=tree.getroot()
    三种获取:第一种 iter(查找全文本标签)
    for item in rootTree.iter("age"):
        # print(item)
        print(item.tag) #标签名称
        print(item.attrib)#标签属性
        print(item.text)#文本内容
    '''
    
    # import xml.etree.ElementTree as ElementTree
    # tree=ElementTree.parse("c.xml") #解析文件找到文件
    # rootTree=tree.getroot()
    # print(rootTree.find("age").attrib) #从当前的字标签找到一个名为age的标签
    #找全部标签
    # for i in rootTree.findall("age"):
    #     print(i.attrib)
    # s=rootTree.findall("age")
    # for i in s :
    #     print(i.attrib)
        # print(i.tag)
    
    import xml.etree.ElementTree as ElementTree
    tree=ElementTree.parse("c.xml") #解析文件找到文件
    rootTree=tree.getroot()
    for item in rootTree.iter("stu"):
        print(item.attrib)
    

      

  • 相关阅读:
    ubuntu之路——day14 只用python的numpy在底层实现多层神经网络
    2019春 软件工程 助教总结
    ubuntu之路——day13 只用python的numpy在较为底层的阶段实现单隐含层神经网络
    ubuntu之路——day12.1 不用tf和torch 只用python的numpy在较为底层的阶段实现简单神经网络
    ubuntu之路——day11.7 end-to-end deep learning
    ubuntu之路——day11.6 多任务学习
    ubuntu之路——day11.5 迁移学习
    mysql 主从复制 (1)
    Windows下Nginx的启动、停止、重启等命令
    mysql-5.7.17-winx64压缩版的安装包下载和安装配置
  • 原文地址:https://www.cnblogs.com/LW-LW-LW/p/9806484.html
Copyright © 2011-2022 走看看