• XML基础总结2


    在上篇的博客中,我们系统的介绍了一下xmlhtml之间的异同以及一部分xml的特性或者说是优点,接下来,我们就xml文档的一些语法规则具体向大家阐述一下:

     

    1、xml文档形成了一种“树结构”,他从“根部”开始,然后扩展到“枝叶”

    我们拿一个例子代码来说:

     

    <?xml version=”1.0” endoding=”utf-8”?>
    <note>
    <to>George</to>
    <from>John</from>
    <heading>Reminder</heading>
    <body>Don’t forget the metting!</body>
    </note>

     

    第一行的地方,是XML生明,他定义了xml的版本(1.0)和所使用的编码(utf-8

    <note>是本文档的根目录(说明本文档是一个便签信息)

    接下来的中间整体部分4行,描述了根的4个子元素(to ,from ,heading, body四部分)

    最后一行,当然是<note>标签的结束标签啦</note>,所以说,xml中,省略关闭标签是非法的,所有元素都必须有关闭标签


    而从本文档中呢,我们就可以明白,这是johngeorge的一封便签信息,说,不要忘了会议


    同样,从上面我们可以看到,一xml文档必须包含一个根元素,根元素是所有其他元素的父元素,自考中知道根节点,跟那个差不多,等级最高的。而其他的子元素从根部开始慢慢向上拓展,形成一颗文档树,并扩展到树的最底端,所有元素均可拥有子元素。而这也正体现了xml的可扩展性,想要加上时间,那么就直接在body元素的平行级元素下加上就可以了,方便的很


    值得一说的是,xml中标签对大小写是很敏感的,比如说这个<note>标签,如果在最后的结束标签时用</Note>,它本身是不认识的,因为它是纯文本,都有不同的意义,所以,必须用</note>

    在我们的html中,我们可能会遇到这种情况:

    <b><i>I Love U</b></i>

    可是在我们的xml中,这样也是不行的,必须要正确的嵌套,按照格式:

    <b><i>I Love U</i></b>
     

    XML中,属性之必须用 (英文符号双引括起来)

    举个例子

    <note date=”2015-08-01”> jfaldksjf </note>  正确
    <note date=2015-08-01> jfaldksjf </note>    错误

    再就是xml中的实体引用了,这是为什么呢?因为一些符号在xml中都有特殊的意义,不能随便用,但是我们也要用到这些符号的,怎么办,实体引用,在xml中,有5哥预定义的引用

     

     

    那些了一个格式良好的xml文档,如何命名呢?

    1、名称可以含字母、数字以及其他的字符

    2、名称不能以数字或者标点符号开始

    3、名称不能以字符“xml或者XMLXml”开始

    4、名称不能包含空格

     

    下一个重点,验证xml文档

    合法的xml文档是形式良好的xml文档,同样尊守文档类型定义的(DTD)的语法规则:

    <?xml version=”1.0” endoding=”utf-8”?>
    <! DOCTYPE note SYSTEM “Note.dtd”>
    <note>
    <to>George</to>
    <from>John</from>
    <heading>Reminder</heading>
    <body>Don’t forget the metting!</body>
    </note>


    DOCTYPE生明是对外部DTD文件的引用,而外面这个Note.dtd是什么东西呢?

    <!DOCTYPE note [
    <!ELEMENT note (to,from,heading,body)>
    <!ELEMENT to   (#PCADATA)>
    <!ELEMENT from  (#PCADATA)>
    <!ELEMENT heading   (#PCADATA)>
    <!ELEMENT body   (#PCADATA)>
    ]>


    这个叫XML DTD,作用是定义xml文档的结构,而W3C支持一种基于XMLDTD代替这,叫做XMLSchema

     

     

    那到这里呢,xml的一些基础知识就已经总记得差不多了,期待接下来的学习,能够再次与大家分享

  • 相关阅读:
    2021年中央经济工作会议
    大人物不走直线路径
    批量修改:update inner join导致死锁
    linux 系统centos新添加一个硬盘,分区格式化挂载操作
    vuewaves点击容器出现水波纹效果
    多维表头的DataGridView
    TypeError: Property value expected type of string but got null
    linux下添加简单的开机自启动脚本
    Centos7 自定义 tomcat 的 systemctl 启动脚本
    uniapp的store使用
  • 原文地址:https://www.cnblogs.com/DoubleEggs/p/5747193.html
Copyright © 2020-2023  润新知