leo_logic

XML整体结构
XML文档规则: ① 1.有且只有一个根元素 2.元素必须合理结束 3.元素之间必须...
扫描右侧二维码阅读全文
05
2019/04

XML整体结构

XML文档规则:

    ①
    1.有且只有一个根元素
    2.元素必须合理结束
    3.元素之间必须合理嵌套
    4.元素的属性必须有值
    
    ②XML声明:
    <?xml version="1.0" encoding="GB2312" standalone="yes"?>
    ③字符集:
    1.简体中文:GBK和GB2312
    2.繁体中文:BIG5
    3.西欧字符:ISO8859-1
    4.通用的国际编码:Unicode
    5.针对Unicode的可变长度字符编码:UTF-8
    ④字符长度:
    --Unicode编码中,一个英文等于两个字节,一个中文(含繁体)等于两个字节。
    --UTF-8编码中,一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。
    ---ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。
    ⑤合法标签名:
    XML文档对于标签如下要求:
       ·不能以中划线、点、数字开头
    ⑥CDATA标记:在特殊标记CDATA下,所有特殊字符,甚至是有效元素将被当成简单的字符处理掉,实体引用如&lt;也会失去作用,变成纯文本。语法:<![CDATA[文本内容]]>
    ⑦换行处理:
       目前主流操作系统,主要有3种换行符
       1、win:回车(CR)、换行符(LF)组合【'\r'是回车,前者使光标到行首;'\n'是换行,后者使光标下移一格  】
       2、UNIX和LIUNX:换行符:LF
       3、MAC:CR
       XML中同一使用LF储存换行符
    ⑧使用命名空间
       语法:xmlns[:prefix] = "命名空间字符串"
      命名空间的特征:
         名字很长(命名空间往往是一个绝对的URL地址)
         名字里往往包含引文冒号、斜线等特殊字符

第一个实例:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!--DTD和Schema约束,定义根元素、元素与元素的关系-->
<!DOCTYPE 书籍列表[
<!ELEMENT 书籍列表 ((计算机书籍+))>
<!ELEMENT 计算机书籍 ((书名,作者,价格))>
<!ELEMENT 书名 (#PCDATA)>
<!ELEMENT 作者 (#PCDATA)>
<!ELEMENT 价格 (#PCDATA)>
]>
<书籍列表>
    <计算机书籍>
        <书名>Python</书名>
        <作者>leo</作者>
        <价格><![CDATA[20000+30000>20000]]></价格>
    </计算机书籍>
    <计算机书籍>
        <书名>Java</书名>
        <作者>leo</作者>
        <价格>10000+1000 &lt; 12000</价格>
    </计算机书籍>
    <!--<名著 价格="无价" 书名="曾国藩家书"/>-->
    <!--注释不能放标签中;注释不能放在文档声明第一行-->
</书籍列表>

第一个实例迭代版:加入命名空间xmlns:[namespace-prefix]="namespaceURI"

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!--DTD和Schema约束,定义根元素、元素与元素的关系-->
<!DOCTYPE 书籍列表[
<!ELEMENT 书籍列表 ((计算机书籍+))>
<!ELEMENT 计算机书籍 ((书名,作者,价格))>
<!ELEMENT 书名 (#PCDATA)>
<!ELEMENT 作者 (#PCDATA)>
<!ELEMENT 价格 (#PCDATA)>
]>
<书籍列表>
    <计算机书籍 xmlns:python="https://www.python.org">
        <python:name>Python</python:name>
        <作者 xmlns:author="https://weibo.com/xicanleo">
            <author:name>leo</author:name>
        </作者>
        <价格><![CDATA[20000+30000>20000]]></价格>
    </计算机书籍>
    <计算机书籍>
        <name>Java</name>
        <作者>leo</作者>
        <价格>10000+1000 &lt; 12000</价格>
    </计算机书籍>
    <!--<名著 价格="无价" name="曾国藩家书"/>-->
    <!--注释不能放标签中;注释不能放在文档声明第一行-->
</书籍列表>
Last modification:April 5th, 2019 at 09:02 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment