• Python中的XML


    XML(eXtensibleMarkupLanguage)定义:可扩展标记语言

    XML文档的而构成:

    - 处理指令(可以认为一个文件内只有一个处理指令)
    最多只有一行,且必须在第一行
    内容是与xml本身处理起相关的一些声明或者指令
    以xml关键字开头,一般用于声明XML的版本和采用的编码
    version属性是必须的
    encoding属性用来指出xml解释器使用的编码
    - 根元素(一个文件内只有一个根元素)
    在整个xml文件中,可以把他看作一个树形结构
    根元素有且只能由一个
    - 子元素
    - 属性
    - 内容
    - 注释
    注释不能嵌套在标签里
    只有在注释的开始和结尾使用双短横线
    三短横线只能出现在注释的开头而不能用在结尾

    <name> <!-- wangdapeng -->   </name> #可以
    <name <!-- wangdapeng -->>   </name> #不可以,注释在标签内
                    
    <!--my-name-by-wang--> #可以,注释内容可以有一个短横线
    <!--my--name--by--wang-->#不可以,双短横线只能出现在开头或结尾
                    
    <!---my-name--> #可以, 三短横线只能出现在开头
    <!---my-name---> #不可以, 三短横线只能出现在开头 

    XML中保留字符的处理方法:
    XML中使用的符号可能跟实际符号相冲突,典型的就是左右尖括号
    1.使用实体引用(EntityReference)来表示保留字符

    <score> score>80 </score> #有错误,xml中不能出现>
    <score> score&gt;80</score> #使用实体引用

    2.把含有保留字符的部分放在CDATA块内部,CDATA块把内部信息视为不需要转义

    <![CDATA[
    select name,age
    from Student
    where score>80
    ]]>

    3.常用的需要转移的保留字符和对应实体引用
    - &:&amp;
    - <:&lt;
    - >:&gt;
    - ':&apos;
    - ":&quot;
    - 共五个,每个实体引用都以&开头并且以;结尾

    为了避免命名冲突,需要给可能冲突的元素添加命名空间:

    #两个元素中都有一个name属性
    <Student>
        <Name>LiuYing</Name>
        <Age>23</Age>
    </Student>
    
    <Room>
        <Name>2014</Name>
        <Location>1-23-1</Location>
    </Room>

    如果归并上述两个元素,就有有两个name,会产生冲突,这时需要用到命名空间xmlns: xml name space的缩写:

    <Schooler xmlns:student="http://my_student" xmlns:room="http://my_room">
                        <student:Name>LiuYing</student:Name>
                        <Age>23</Age>
                        <romm:Name>2014</room:Name>
                        <Location>1-23-1</Location>
    </Schooler>
  • 相关阅读:
    Day 09 函数
    Day 09 作业
    Day 08 可变与不可变对象/列表与字典内置方法
    Day 08 作业
    Day 07 字符串内置方法和爬虫基础3
    Day 06 流程控制和爬虫基础2
    Day 05 文本处理和爬虫基础1
    Day 04 作业
    Day 04 数据类型基础
    Day 03 Python 基础
  • 原文地址:https://www.cnblogs.com/wjw2018/p/10544907.html
Copyright © 2020-2023  润新知