XML结构和语法

2018-01-18 11:28:00
linefo
478
最后编辑:linefo 于 2018-01-18 11:31:41


结构


一个XML文档实例:


<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>


一般XML文档第一行是声明:


<?xml version="1.0" encoding="ISO-8859-1"?>


<note>标签描述的note元素是该ML文档的根元素:


<note>

<to>、<from>、<heading>、<body>标签描述的4个元素是note的子元素:


<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>


每个元素中嵌套了内容,可以是具体的文本,或者嵌套子元素。


每个元素都需要闭合标签,比如note元素这里的闭合标签:


</note>

可以看出XML文档是一种树形结构,以上述例子说明:


(1)必须有一个根元素,它包含其他的元素,这里是note元素;

(2)元素之间有父子关系,note元素是to元素的父元素,反过来,to元素是note元素的子元素;

(3)相同层级的元素互为同胞元素,如to元素和from元素同为note元素的子元素,它们之间为同胞关系。=;


语法


必须要有根元素


这个上面演示过了......


每个元素都需要有开始 / 闭合标签


错误的写法:


<p>This is a paragraph

正确的写法:


<p>This is a paragraph</p>

对大小写敏感


错误的写法:


<M>这是错误的。</m>

正确的写法:


<m>这是正确的。</m>


必须正确嵌套


错误的写法:


<b><i>This text</b></i>

正确的写法:


<b><i>This text</i></b>

属性需要加引号


<note date="08/08/2008"></note>

注释的写法


<!-- This is a comment --> 

实体引用


在 XML 中,一些字符拥有特殊的意义。
如果你把字符 "<" 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。
这样会产生 XML 错误。

为了避免这个错误,请用实体引用来代替这些字符,比如用 &lt; 来代替 < 字符:


<message>if salary &lt; 1000 then</message> 

在 XML 中,有 5 个预定义的实体引用:


&lt;        代表   <

&gt;       代表   >

&amp;   代表   &

&apos;  代表    '

&quot;   代表    "