• xml 模块


    XML ———可扩展的标记语言

      也是一种通用的数据格式

      之所以用它 也是因为跨平台

    XML 的语法格式:

      1,任何的起始标签都必须有一个结束标签。

         <> 起始标签

         </>结束标签

      2, 可以采用另一种简化语法,可以在一个标签中同时表示起始和结束标签。

    这种语法是在大于符号之前紧跟一个斜线(/),XML解析器会将其翻译成<起始></结束>。

      3,标签必须按合适的顺序进行 行行嵌套,所以结束标签必须按镜像顺序匹配起始标签。

    这好比 是将起始和结束标签看作是数学中的左右括号: 在没有关闭所有的内括号之前,是不能关闭外面的括号的。

      4,所有的特性都必须有值。

      5,所有的特性都必须在值的周围加上双引号。

    一个标签的组成部分

     < 对象名 属性名称=“属性值” > 文本内容 < /对象名>

    单标签的写法

      < 对象名 属性名称=“属性值” />

    镜像关闭顺序实例:

    <a>

      <b>

        <c>

        </c>

      </b>

    </a>

    XML 运用实例:

    import xml.etree.ElementTree as ElementTree
    # 解析d.xml
    tree = ElementTree.parse("d.xml")
    print(tree)
    # 获取根标签
    rootTree = tree.getroot()

    假设把左右同学的信息写成XML:

    <studentinfo>
        <张三>
            <age>20</age>
            <gender>man</gender>
        </张三>
        <李四>
            <age>20</age>
            <gender>man</gender>
        </李四>
    </studentinfo>

    三种获取标签的方式:

    一,获取所有所有人的年龄 iter函数 是用于在全文范围获取标签

    for item in rootTree.iter("age"):
        # 一个标签三个组成部分
        print(item.tag) # 标签名称
        print(item.attrib) # 标签的属性
        print(item.text) # 文本内容

    二,从当前标签的子 标签中找到一个名为age的标签  如果有多个  找到的是第一个

    print(rootTree.find("age").attrib)

    三, 从当前标签的子标签中找到所有名称为age的标签

    print(rootTree.findall("age"))

    总结: 与json 相比

        同样的数据  json会比xml  效率更高

        xml 需要根据文档结构 手动解析 而 json 直接转对像

  • 相关阅读:
    a sample of if_nametoindex
    ssh 报 You don't exist, go away
    VMware网卡类型说明及修改
    warning: dereferencing typepunned pointer will break strictaliasing rules(20120613 13:11:02)
    关于字节序和比特序 Little Endian Big Endian
    C语言 运行codeblocks 没有反应
    邻接矩阵作为主要存储结构
    菜鸟学习 MFC
    中国特色工作流引擎设计考虑因素
    如何实现通过汉字的拼音或首拼快速检索(含部分源码)
  • 原文地址:https://www.cnblogs.com/TF511/p/9806993.html
Copyright © 2020-2023  润新知