zoukankan      html  css  js  c++  java
  • xml 模块

    xml  可扩展的标记语言

    <> </>

    也是一种通用的数据格式

    之所以用它也是因为跨平台    (但是在json出现之前就已经存在,所以海有一些公司还在用)

    学习的重点还是语法格式

      1.任何的起始标签都必须有一个结束标签。 <>  </>

      2.可以采用另一种简化语法,可以在一个标签中同时表示起始和结束标签。这种语法是在大于符号之前紧跟一个斜线(/),解释器会将其翻译成<百度百科词条></百度百科词条>。

    <百度百科词条/>

      3.标签必须按合适的顺序进行行行嵌套,所以结束标签必须按镜像顺序匹配起始标签。 这好比是将起始和结束标签看作是数学中的左右括号: 在没有关闭所有的内部括号之前,是不能关闭外面的括号的

      4.所有的特性都必须有值

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

      一个标签的组成部分

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

      当标签的写法

      <tagename 属性名称 = “属性值”>

    镜像关闭顺序实例

     <a>

      <b>

        <c>

        </c>

      </b>

    </a>

    把您的左右同学信息写成xml

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

      总结 xml 也是一种中间格式也属于序列化方式之一

      与json相比较

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

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

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

    # 三种获取标签的方式
    # 获取所有人的年龄 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"))


    # 获取单个属性
    stu = rootTree.find("stu")
    print(stu.get("age"))
    print(stu.get("name"))

    # 删除子标签
    rootTree.remove(stu)


    # 添加子标签
    # 要先创建一个子标签
    newTag = ElementTree.Element("这是新标签",{"一个属性":"值"})
    rootTree.append(newTag)

    # 写入文件
    tree.write("f.xml",encoding="utf-8")
  • 相关阅读:
    c语言 414 根据输入的整数,循环显示1234567890
    c语言 47 编写一段程序,显示小于输入的整数的所有2的乘方。
    c语言49 交替输出正负号,当输入0以下时什么也不显示
    c语言48 改写48的程序,当输入的值小于1时不输出换行符
    c语言 411 逆向输出输入的整数值(同时输出原始数据)
    c语言47 显示出小于输入的整数的所有2的乘方
    c语言412 输入一个整数值显示其位数
    c语言415 输出标准身高体重对照表
    c语言413 求1到n的和
    c语言 410 输出连续* \n
  • 原文地址:https://www.cnblogs.com/frank007/p/9807028.html
Copyright © 2011-2022 走看看