【XML学习笔记】1:认识XML和XML元素,属性

简述

XML是可扩展标记语言(Extensible Markup Language),它是一种独立于软硬件的数据存储的格式,也常用于数据传输,而HTML则用来显示数据。

对于HTML而言,使用XML做数据存储,则在写HTML时只要把精力放在布局上就可以了。同时XML提供的统一格式能够较好的支撑数据共享、存储、传输。还能够用来创建新的互联网语言。

XML结构

XML文档的第一行总是如下形式的XML声明,指示采用的XML的版本和文档编码:

然后则是庞大的XML树结构,类似于HTML那样去用双标签去表示一棵树:

<note>
    <to>小明to>
    <from>小红from>
    <heading>给小红的留言heading>
    <body>明晚见,别忘了body>
note>

语法特点

根元素

因为XML必须是树结构,所以必须要有根元素,否则就是森林了。

关闭标签

除了XML声明以外,所有的XML元素都必须有关闭标签,不能出现HTML的
这样的单标签,既然不能省略关闭标签,不妨把这样的标签写成
的形式。

大小写敏感

在HTML中是一回事,但XML会区分标签的大小写。

属性值

XML的属性值必须带引号。

字符实体

XML元素内的<&是非法的,需要用实体引用来代替。

使用的符号 实体名 实体号
< < <
& & &

空格不合并

HTML会把连续的多个空格视为一个,但XML不会这样做(毕竟前者是显示,后者是存储)。

XML元素

从开始标签到结束标签,以及这两个标签本身组成的部分可以称为一个XML元素:

<body>明晚见,别忘了body>

显然XML元素是可以嵌套的。

属性和文本内容

文本内容指的就是开始标签和结束标签所夹的内容,属性和HTML中的属性一样,指的是在开始标签之内的属性="属性值"格式的那部分:

 <book category="WEB">

有关属性命名

属性名不能是任何大小写的XML,尽量不要在属性名中使用-(误判为减)、.(误判为组合)、:(误判为命名空间)。

元素带来的可扩展性

应用程序可通过元素去查找所要的资源,当对XML进行扩展时,原来使用的元素完全不会遭到影响,即对扩展是开放的。

XML属性

属性用于提供有关元素本身的信息,即提供不属于数据部分的信息,属性的值既可以用单引号也可以用双引号。

属性和元素

属性可以像元素那样提供信息,如:

<note to="小明">
note>

确实可以表示:

<note>
<to>小明to>
note>

这样的信息,但是为了清晰,在这种时候尽量使用元素而不是属性。并且如果元素还能再细拆分(如日期可以拆成年月日三个元素),可以将它拆分的更细一些。

相比元素,属性不能包含多个值,不能包含树结构,不易于扩展。所以应当使用元素来描述数据,使用属性提供与数据无关的信息。

元数据

元数据指的是有关数据的数据,如前面的例子中有多个note留言时,就会有多个note标签,可以设置一个元数据id——第几个留言,来唯一标识note元素:

<msg_board>
    <note id="1">
        <to>小明to>
        <from>小红from>
        <heading>给小红的留言heading>
        <body>明晚见,别忘了body>
    note>
    <note id="2">
        <to>小明to>
        <from>小红from>
        <heading>给小红的留言heading>
        <body>明晚见,别忘了body>
    note>
msg_board>

元数据适合存储为属性,而不是元素。

你可能感兴趣的:(XML)