XML技术分析02

2024-01-08 03:21:51

一、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语法规则

1.所有 XML 元素都须有关闭标签

在 HTML,经常会看到没有关闭标签的元素:

<p>This is a paragraph <p>This is another paragraph

而在 XML 中,省略关闭标签是非法的。所有元素都必须有关闭标签:

<p>This is a paragraph</p> <p>This is another paragraph</p>

注释:您也许已经注意到 XML 声明没有关闭标签。这不是错误。声明不属于XML本身的组成部分。它不是 XML 元素,也不需要关闭标签。

2. XML 标签对大小写敏感 XML 标签对大小写敏感。

在 XML 中,标签 <Letter> 与标签 <letter> 是不同的。 必须使用相同的 ? ?

<Message>这是错误的。</message> ? ?

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

3. XML 必须正确地嵌套

在 HTML 中,常会看到没有正确嵌套的元素:

<b><i>This text is bold and italic</b></i>

在 XML 中,所有元素都必须彼此正确地嵌套:

<b><i>This text is bold and italic</i></b>

在上例中,正确嵌套的意思是:由于 <i> 元素是在 <b> 元素内打开的,那么它必须在 <b> 元素内关闭。

4. XML 文档必须有根元素

XML 文档必须有一个元素是所有其他元素的父元素。该元素称为根元素。

5. XML 的属性值须加引号

与 HTML 类似,XML 也可拥有属性(名称/值的对)。 在 XML 中,XML 的属性值须加引号。

6.实体引用 在 XML 中,一些字符拥有特殊的意义。

如果你把字符 "<" 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。

7. XML 中的注释

在 XML 中编写注释的语法与 HTML 的语法很相似: <!-- This is a comment -->

8.空格会被保留 HTML 会把多个连续的空格字符裁减(合并)为一个:

在XML中,文档中的空格不会被删节。

三、XML元素

1.XML元素

XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。

元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。

2.命名规则

XML 元素必须遵循以下命名规则:

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

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

名称不能以字符 “xml”(或者 XML、Xml)开始

名称不能包含空格

可使用任何名称,没有保留的字词。

3.XML元素是可扩展的

:不会。这个应用程序仍然可以找到 XML 文档中的 <to>、<from> 以及 <body> 元素,并产生同样的输出。 XML 的优势之一,就是可以经常在不中断应用程序的情况进行扩展。

四、XML属性

1.XML属性

2.XML属性必须加引号

3.XML 元素 vs?属性

避免 XML 属性?

因使用属性而引起的一些问题:

属性无法包含多重的值(元素可以)

属性无法描述树结构(元素可以)

属性不易扩展(为未来的变化)

属性难以阅读和维护

请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。

“形式良好”(Well Formed)的 XML 文档会遵守XML 语法规则:

XML 文档必须有根元素

XML 文档必须有关闭标签

XML 标签对大小写敏感

XML 元素必须被正确的嵌套

XML 属性必须加引号

五、XML验证

1.验证XML文档

2.DTD

3.schema

六、XML浏览器

七、查看XML文件

在所有现代浏览器中,均能够查看原始的 XML 文件。

不要指望 XML 文件会直接显示为 HTML 页面。

八、使用XSLT显示XML

通过使用 XSLT,您可以向 XML 文档添加显示信息。

XSLT (eXtensible Stylesheet Language Transformations) 远比 CSS 更加完善。

使用 XSLT 的方法之一是在浏览器显示 XML 文件之前,先把它转换为 HTML

文章来源:https://blog.csdn.net/snowy_and_sunny/article/details/135432273
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。