解决方案

关于xml文件的介绍

seo靠我 2023-09-25 00:40:35

目录

一 、XML简单的历史介绍

二 、XML有什么作用,为什么要学习XML 

三、语法

1.文档声明

2.元素

3.属性

4.实体 entity

    4.注释

    5.PCDATA,CDATA

四 、XML约束

    DTD的目的:

DTSEO靠我D对xml文件中元素的约束:

            1).EMPTY:元素不能包含子元素和文本(空元素)

            2).(#PCDATA):可以包含任何字符数据,但是不能在其中包含任何子元素

3).ANY:元素内容为任意的,主要是使用在SEO靠我元素内容不确定的情况下

            4).修饰符:() | + * ? , 默认修饰符

            5).混合元素 子元素是任意类型 出现任意次数 并且没有出现顺序要求

        属性类型:

1).CDATA:属性值可以是任何字符(包括数字和SEO靠我中文)

     2).ID:属性值必须唯一,属性值必须满足xml命名规则

     3).IDREF/IDREFS

     4).enumerated:(枚举值1|枚举值2|枚举值3...),属性值必须在枚举值中

        属性特点:

1).#RSEO靠我EQUIRED:元素的所有实例都必须有该属性

         2).#IMPLIED :属性可以不出现  

3).default-value:属性可以不出现,并且当它不出现的时候是有默认值的,而该属性的默认值就是attribSEO靠我ute-value

         4).#FIXED :属性可以不出现,但是如果出现的话必须是指定的属性值  

              五、XML的解析

(一)SAX解析

(二)DOM解析:

1.读取XML文件,获得document对象            

2.解析XML形SEO靠我式的文本,得到document对象

3.主动创建document对象.

一 、XML简单的历史介绍

1969年 GML   通用标记语言

    用于计算机之间的通信,通信就会传输数据,那么就需要一种数据的规范

198SEO靠我5年 SGML  标准通用标记语言

    对GML进行完善

1993年 HTML  超文本的标记语言(HyperText Markup Language)

        Client/Server 客户端/服务器

BrowserSEO靠我/Server 浏览器/服务器

        富客户端/服务器---->小程序,快应用

    随着万维网的推广,在SGML的基础上,又出现了HTML语言,用于万维网上的页面展示

1998年 XML   可扩展的标记语言(ExtSEO靠我ensible Markup Language)

HTML有不少的缺陷,HTML语言的标记不能自定义,HTML语言的标记本身不能用来描述数据,HTML语言的标记没有国际化(不同浏览器显示同一页面的效果可SEO靠我能不一样)

    W3C组织在1998年推出了可扩展标记语言XML

    XML语言的本身是用来替代HTML语言的,但是俩种语言还有一定差异的,所以中间出现了一种过渡的语言:XHTML

但实际上XML语言已经很难替代HSEO靠我TML语言了,因为HTML语言的使用在整个万维网上使用太广泛了。

二 、XML有什么作用,为什么要学习XML 

第一个需求: 数据传输需要一定的格式

        1.数据的可读性

        2.将来的扩展

        3.将来的维护

XML现在已经SEO靠我是业内传输数据的标准,它和语言无关

    //XML

    //JSON(更多一点)

    第二个需求: 配置文件,之前使用的.properties资源文件中描述的信息不丰富

    //XML

    //Properties

//yml---SEO靠我SpringBoot

    第三个需求: 保存数据,充当小型的数据库

保存数据一般是使用数据库保存,或者使用一般的文件保存,这个时候也可以选择XML文件,因为XML可以描述复杂的数据关系。从普通文件中读取数据的SEO靠我速度肯定是比从数据库中读取数据的速度快,只不过这样不是很安全而已

三、语法

1.文档声明

        XML文件的后缀为.xml

        XML文本要求文件有一个头部声明: 用来告诉解析器一些相关信息

表明当前文件是xml文件,XSEO靠我ML版本为1.0,文件内容使用的字符编码为UTF-8

        注意:要小心在系统中这个xml文件保存时候的编码,是否和文件内容中设置的编码一致

ansi (American National Standards SEO靠我Institute)美国国家标准协会

        ansi编码 是这个协会组织制定的一种字符编码

        ansi编码在不同国家表示是不用的 中文操作系统中的ansi编码是GB2312

2.元素

        2.1

每个XML文档必须有且只有SEO靠我一个根元素。root

        根元素是一个完全包括文档中其他所有元素的元素。

        根元素的起始标记要放在所有其他元素的起始标记之前。

        根元素的结束标记要放在所有其他元素的结束标记之后。

        2.2

xml文件中的标记也可以叫标SEO靠我签、元素、节点。

        XML元素指XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式,例如:

        包含标签体:www.baidu.com

        不含标签体的:, 可以简写为:

一个标签中也可SEO靠我以嵌套若干子标签。但所有标签必须合理的嵌套,绝对不允许交叉嵌套 ,例如:

        你好!程序员 

        这样嵌套是可以的

        你好!程序员

        2.3

对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理。例如SEO靠我:下面两段内容的意义是不一样的。

        <name>tom</name>

            tom

        </name>

由于在XML中,空格和换行都作为原始内容被处理,所以,在编写XML文件时,要特别注意。但是在一些封装好的解析方式中,SEO靠我是可以忽略掉这些空格和换行的.(例如在一些第三方提供的jar包中)

        2.4

        一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范

        区分大小写,例如,

是两个不同的标记。

不能以数字或SEO靠我"_" (下划线)开头。

        不能包含空格。

3.属性

            TOM

        </student>

        属性值用双引号(")或单引号()分隔

        一个元素可以有多个属性,它的基本格式为:

            <元素名 属性名="属性值">

特定的属性名称在同一个SEO靠我元素标记中只能出现一次

        属性值不能包括<, >, &

4.实体 entity

        xml文件中有些特殊的字符是不能直接表示出来的,例如:大于号,小于号,单引号、双引号等等 

        使用实体的格式: &实体名字;

预定义字符SEO靠我实体,由XML规范预先定义好了

        <        <  

        >        >

        &        &

        "        "

        &apos;        

        自定义实体 ENTITY entity

        格式:

        ]>

        eg:

        ]>

其中:companySEO靠我为实体名称

                  "昆山杰普软件科技有限公司"是实体内容

              实体的使用:&company;

    4.注释

        注释内容中不要出现- -;

        不要把注释放在标记中间;

        注释不能嵌套;

        可以在除标记以外的任何地方放注释

5.PCSEO靠我DATA,CDATA

PCDATA (Parsed Character Data) 会被xml文档解析器解析的,但是有些特殊字符需要借助实体才可以被解析器解析。XML文件中的正常内容基本都是PCDATASEO靠我

        CDATA (Character Data) 不会被xml文档解析器解析的,按字符串原样输出。有些内容不想让解析,按照内容原样输出就可以了,这种情况可以使用CDATA

        格式:

              <>

XML+XML约束 ~=SEO靠我 html

四 、XML约束

    DTD的目的:

        验证该xml文档是否是有效的xml文档

        如果一个良构的xml文档满足了DTD的声明就是一个有效的xml文档。

        注意:良构 不一定  有效,但是有效一定良构

    

DTD对xSEO靠我ml文件中元素的约束:

         格式:

        内容模式:

          1).EMPTY:元素不能包含子元素和文本(空元素)

          例如:

            dtd文件:

            xml文件:

            </students>

2).(#PCDATA):可以包含任何字符数据,但是不能在SEO靠我其中包含任何子元素

           例如:

            dtd文件:

            xml文件:

                tom

            </students>

         3).ANY:元素内容为任意的,主要是使用在元素内容不确定的情况下

           例如:

            dtd文件:

            xml文件:

                tom

            或者

                    tom

            

4).修饰符SEO靠我:() | + * ? , 默认修饰符

           () 来给元素分用组 

            |  在列出的元素中选择一个 

                例如:

                dtd文件:

                xml文件:

                </students>

            +  该元素最少出现一次,可以出现多次 (1或n次)

                例如:

dtSEO靠我d文件:

                xml文件:

                </students>

            *  该元素允许出现零次到任意多次(0到n次)

                例如:

                dtd文件:

                xml文件:

                </students>

            ?  该元素可以出现,但只能出现一次 (0到1次)

                例如:

dtSEO靠我d文件:

                xml文件:

                </students>

            ,  对象必须按指定的顺序出现

                例如:

                dtd文件:

                xml文件:

                </students>

            默认修饰符 就是什么修饰符都没有加

                例如:

                dtd文件:

                xml文件:

</studSEO靠我ents>

     5).混合元素 子元素是任意类型 出现任意次数 并且没有出现顺序要求

               例如:

                dtd文件:

                xml文件:

                    tom

                注意:

                1 根元素students里面可以出现stu子元素0到n次

2 stu元素中可以写SEO靠我文本也可以写id、name、age子元素

                3 id、name、age子元素出现的顺序没有要求

                4 id、name、age子元素可以都出现也可以都不出现

        注意:浏览器是非验证的解析器,不会验证xml的有效性

SEO靠我以使用Eclipse去验证xml的有效性

    DTD对xml文件中属性的约束:

        格式:

“SEO靠我”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与 我们联系删除或处理,客服邮箱:html5sh@163.com,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同 其观点或证实其内容的真实性。

网站备案号:浙ICP备17034767号-2