zoukankan      html  css  js  c++  java
  • xml基础之二(XML结构【1】)

    xml基础之二(XML结构【1】)

    1. XML结构

     

    XML结构
    XML结构

     

    1.1 元素:被开始标签和结束标签所包裹的内容,(红色部分),蓝色部分也是元素,由于其仅有词语和句子,可细分为文本元素。
    1.2 属性:在开始标签内,用于描述标签附加信息的字段,等于号前面的字段为属性,其后面的字符串属性值.(青绿色部分

    简化结构如下:

     

    xml简化结构
    xml简化结构

     

    根节点开始,包含1个或多个子节点,子节点还可以有其他子节点,在这些子节点的开始标签内用属性来定义其功能特性和附加信息,在开始和结束标签内的用文本对标签进行解释和描述。【谨记1.1处概念,每个双结点【开始结点和结束结点】可以看作一个元素

    1.3 元素/结点与属性之间的转换
    XML文档内属性提供的信息不能用于数据解析,但其附加的信息却非常重要。由于它不可以用于数据解析,对于扩展来说,就失去了意义。所以一般来说,尽量避免对结点使用属性进行描述。
    由于XML的功能是用于存储数据,所以对于何时使用属性和结点应该有个清晰的理解,即当某种数据的信息源唯一,容易理解且不会轻易被改动时,用属性进行描述是最好的。公民的身份证号,生日和性别就是极好的例子。

    <person id="440xxxxxx",sex='male'bir="13/9/18">
    </person>
    

    上述代码描述了要存储的3个公民的属性,存储身份证号时ID值是唯一的,而性别可男可女,生日而大有不同,而且很难理解这个生日到底是13年9月18号还是18年9月13号,所以上述代码应修改为

    <person id="440xxxxxx">
        <sex>male</sex>
        <bir>
            <day>13</day>
            <month>9</month>
      	    <year>18</year>
        </bir>
    </person>
    

    细心的人应该发现对标签元素添加属性时,属性值必须被双引号或者单引号包裹。一般来说,仅使用一种引号方式对字符串修饰。

    <person id="440xxxxxx",sex='male'>  <!-- 此处标签含多个属性,不推荐该写法,仅为展示属性都可被双引号和单引号包裹-->
    </person>
    

    2.XML命名

    了解XML的结构后,开始探讨XML元素/标签的命名。我们知道XML是标记语言,虽然没有预留什么关键字,但是命名时请勿以xml的大小写和数字,标点符号格式开始;除此之外,还规定内容不能空格,避免使用"-",":"以及"."(杠,冒号以及点),只要遵守上述3条规则即是合法的XML元素。

    <!--错误示范1:以xml,数字或者标点符号开头的元素标签命名-->
        <xml_xxxx> </xml_xxx>
        <XML_xxxx> </XML_xxx>
        <1_xxxx></1_xxxx>
        
    <!--错误示范2:内容包含空格-->
      <tes t></tes t>   <!--很多软件解析遇到空格就停止读取,这样这个结点的读取就不完整或者出错-->
      
      <!--错误示范3:避免使用"-",":"以及"."(杠,冒号以及点)-->
      <test-parse></test-parse> <!--某些软件解析该结点时,只会读取"-"前面的内容-->
      <test:parse> </test:parse><!--某些软件会将冒号作为命名空间的标志,使用冒号容易引起歧义-->
      <test.parse> </test.parse><!--某些软件会将点号作为访问属性的标志,使用点号容易引起歧义-->
    

    3.标准XML文档

    遵循XML语法所编写的XML文档就是标准的(Well Formed)XML文档,而通过DTD验证的标准XML文档即为合法的XML文档
    注:关于XML语法,请参照https://www.cnblogs.com/singledogpro/p/9638433.html

    <?xml version="1.0" encoding="ISO-8859-1"?>           <!-- 1.有文档声明 -->
    <note>							     <!-- 2.有根节点,3.嵌套正确 -->
    <to des="给某人">George</to>	                 <!--4.结点成对出现,5.属性有引号包裹 -->
    <from>John</from>					     <!--6.大小写敏感 -->
    <heading>Reminder</heading>
    <body>Don't forget the meeting!</body>
    </note>
    

    以上就是标准文档XML的范例,还有DTD结构和Schema.

  • 相关阅读:
    FastCgi与PHP-fpm之间是个什么样的关系
    MySql的like语句中的通配符:百分号、下划线和escape
    mysql将int 时间类型格式化
    navicat 结合快捷键
    MySQL中concat函数
    case when then else end 用法
    PhpStorm主题
    Having与Where的区别
    无需图形界面环境下的浏览器
    Socket常见错误
  • 原文地址:https://www.cnblogs.com/singledogpro/p/9644125.html
Copyright © 2011-2022 走看看