随笔 - 1162  文章 - 0  评论 - 16  阅读 - 59万 

一、XML 简介

1、XML 介绍

XML:Extensible Markup Language 可扩展的标记性语言

2、XML 概述

(1)XML 是由 W3C 组织发布,目前推荐遵守的是 W3C 组织与 2000 年发布的 XML1.0 规范;

(2)XML 的使命就是以一个统一的格式,组织有关系的数据,为不同平台下的应用程序服务;

(3)XML 用来传输和存储数据,HTML 用来显示数据;

(4)XML 没有预定义标签,均为自定义标签,此处也是体现了 XML 的扩展性。

3、XML 与 HTML 的主要差异

(1)xml 标签都是自定义的,HTML 标签是预定义好的;

(2)xml 的语法非常严格,HTML 语法松散;

(3)xml 是存储或传输数据的,HTML 是展示数据的;

(4)XML 被设计为传输和存储数据,其焦点是数据的内容;HTML 被设计用来显示数据,其焦点是数据的外观。

二、XML 用途

XML 主要作用有

  1. 用来保存数据,而且这些数据具有自我描述性;

  2. 作为项目或工程的配置文件;

  3. 作为网络传输数据的格式(目前以 JSON 为主)

三、XML 树结构

XML 文档形成一种树结构

XML 文档必须包含根元素。该元素是所有其他元素的父元素。

XML 文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端。

所有元素均可拥有子元素:

<root>
  <child>
    <subchild>.....</subchild>
  </child>
</root>

父、子以及同胞等术语用于描述元素之间的关系。父元素拥有子元素。相同层级上的子元素成为同胞(兄弟或姐妹)。

所有元素均可拥有文本内容和属性(类似 HTML 中)。

上图表示下面的 XML 中的一本书:

<bookstore>
    <book category="COOKING">
        <title lang="en">Everyday Italian</title>
        <author>Giada De Laurentiis</author>
        <year>2005</year>
        <price>30.00</price>
    </book>
    <book category="CHILDREN">
        <title lang="en">Harry Potter</title>
        <author>J K. Rowling</author>
        <year>2005</year>
        <price>29.99</price>
    </book>
    <book category="WEB">
        <title lang="en">Learning XML</title>
        <author>Erik T. Ray</author>
        <year>2003</year>
        <price>39.95</price>
    </book>
</bookstore>

例子中的根元素是 <bookstore>。文档中的所有 <book> 元素都被包含在 <bookstore> 中。

<book> 元素有 4 个子元素:<title>、< author>、<year>、<price>。

四、XML 语法

1、基本语法

(1)xml 文档的后缀名必须为 .xml;

(2)xml 第一行必须定义为文档声明,并且前面没有任何其他字符;

(3)xml 文档中有且仅有一个根标签,根元素就是顶级元素,没有父标签的元素,叫顶级元素,而且是唯一一个;

(4)属性值必须使用引号(单双都可以)引起来;

(5)标签必须正确关闭,不能交叉嵌套;

(6)xml 标签名称严格区分大小写;

(7)标签不能以数字开头;

(8)在 XMl 中,空格会被保留(不会对多余空格删减)

(9)xml 注释:<!-- xml注释内容 -->

Demo:

<?xml version="1.0" encoding="utf-8" ?>       <!-- XML 声明 -->

<students>                                    <!-- 根元素 -->

   <student id="1">
       <name>张三</name>
       <age>19</age>
       <sex></sex>
   </student>

    <student id="2">
        <name>张三</name>
        <age>19</age>
        <sex></sex>
    </student>

</students>

2、文档声明

格式:<?xml 属性列表 ?>

属性列表:

  • version:版本号,必须有的属性
  • encoding:编码方式,告知解析引擎当前文档使用的字符集,默认值:ISO-8859-1
  • standalone:是否独立,取值:yes:不依赖其他文件;no:依赖其他文件

Demo:

<?xml version="1.0" encoding="UTF-8"?>

其中:

<?xml version="1.0" encoding="UTF-8"?> xml 声明。
xml 声明 version 是版本的意思 encoding 是编码
而且这个<?xml 要连在一起写, 否则会有报错

属性:

  • version 是版本号
  • encoding 是 xml 的文件编码
  • standalone="yes/no" 表示这个 xml 文件是否是独立的 xml 文件

案例:图书有 id 属性 表示唯一 标识, 书名, 有作者, 价格的信息

<?xml version="1.0" encoding="UTF-8"?>
<!-- xml 声明 version 是版本的意思 encoding 是编码 -->
<books> <!-- 这是 xml 注释 -->
    <book id="SN123123413241"> <!-- book 标签描述一本图书 id 属性描述 的是图书 的编号 -->
        <name>java 编程思想</name> <!-- name 标签描述 的是图书 的信息 -->
        <author>华仔</author> <!-- author 单词是作者的意思 , 描述图书作者 -->
        <price>9.9</price> <!-- price 单词是价格, 描述的是图书 的价格 -->
    </book>

    <book id="SN12341235123"> <!-- book 标签描述一本图书 id 属性描述 的是图书 的编号 -->
        <name>葵花宝典</name> <!-- name 标签描述 的是图书 的信息 -->
        <author>班长</author> <!-- author 单词是作者的意思 , 描述图书作者 -->
        <price>5.5</price><!-- price 单词是价格, 描述的是图书 的价格 -->
    </book>
</books>

在浏览器中可以查看到文档

五、XML 元素

1、什么是 XMl 元素

元素是指从开始标签到结束标签的内容。

例如: <title>java 编程思想</title>

元素 我们可以简单的理解为是 标签

2、XML 命名规则

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

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

<book id="SN213412341"> <!-- 描述一本书 -->
    <author>班导</author> <!-- 描述书的作者信息 -->
    <name>java 编程思想</name> <!-- 书名 -->
    <price>9.9</price> <!-- 价格 -->
</book>

(2)名称不以数字或者标点符号开始

(3)名称不能以字符 "xml"(或者 XML、Xml)开始【其实是可以滴!

(4)名称不能包含空格

3、XML 中的元素(标签)也分为 单标签和双标签

单标签:

格式: <标签名 属性=”值” 属性=”值” ...... />

双标签:

格式: < 标签名 属性=”值” 属性=”值” ......>文本数据或子标签</标签名>

六、XML 属性

1、XML 属性信息

xml 的标签属性和 html 的标签属性是非常类似的, 属性可以提供元素的额外信息

在标签上可以书写属性:

一个标签上可以书写多个属性。 每个属性的值必须使用 引号 引起来。

属性的规则和标签的书写规则一致。

注意:属性必须使用引号引起来,不引会报错示例代码:

使用属性理念:元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素。

七、语法规则

1、所有 XML 元素都须有关闭标签(也就是闭合)

2、XML 标签对大小写敏感

3、XML 必须正确地嵌套

4、XML 文档必须有根元素

根元素就是顶级元素,没有父标签的元素, 叫顶级元素。

根元素是没有父标签的顶级元素, 而且是唯一一个才行。

5、XML 的属性值须加引号

6、XML 中的特殊字符

XML 中的特殊字符与 HTML 中的特殊字符书写一样,请参考这里:特殊字符

7、文本区域( CDATA 区)

CDATA 区:在该区域中的数据会被原样展示

CDATA 语法可以告诉 xml 解析器, 我 CDATA 里的文本内容, 只是纯文本, 不需要 xml 语法解析

CDATA 格式:

<![CDATA[ 这里可以把你输入的字符原样显示, 不会解析 xml ]]>

Demo:

<![CDATA[
    if(a > 5 && b < 8) {
        return 30;
    }
 ]]>

八、XML 验证

拥有正确语法的 XML 被称为“形式良好”的 XML。

通过 DTD 验证的 XML 是“合法”的 XML。

1、良好的 XML 文档

“形式良好”或“结构良好”的 XML 文档拥有正确的语法。

“形式良好”(Well Formed)的 XML 文档会遵守前几章介绍过的 XML 语法规则:

  • ① XML 文档必须有根元素
  • ② XML 文档必须有关闭标签
  • ③ XML 标签对大小写敏感
  • ④ XML 元素必须被正确的嵌套
  • ⑤ XML 属性必须加引号

Demo:

<?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>

2、验证的 XML 文档

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

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

在上例中,DOCTYPE 声明是对外部 DTD 文件的引用。下面的段落展示了这个文件的内容。

3、XML DTD

DTD 的作用是定义 XML 文档的结构。它使用一系列合法的元素来定义文档结构:

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

4、XML Schema

W3C 支持一种基于 XML 的 DTD 代替者,它名为 XML Schema:

<xs:element name="note">

<xs:complexType>
  <xs:sequence>
    <xs:element name="to"      type="xs:string"/>
    <xs:element name="from"    type="xs:string"/>
    <xs:element name="heading" type="xs:string"/>
    <xs:element name="body"    type="xs:string"/>
  </xs:sequence>
</xs:complexType>

</xs:element>

九、XML 浏览器

几乎所有的主流浏览器均支持 XML 和 XSLT。

十、XML 查看

1、通过浏览器查看某个 xml 文件

打开 XML 文件 - XML 文档将显示为代码颜色化的根以及子元素。通过点击元素左侧的加号或减号,可以展开或收起元素的结构。如需查看不带有 + 和 - 符号的源代码,请从浏览器菜单中选择“查看源代码”。

注释:在 Netscape, Opera 以及 Safari 中,仅仅会显示元素文本!要查看原始的 XML,请右击页面,然后选择“查看源代码”。

2、查看某个无效的 xml 文件

如果浏览器打开了某个有错误的 XML 文件,那么它会报告这个错误。

十一、XML CSS

使用 CSS 来格式化 XML 文档是有可能的。

指令:用来结合 CSS 的

Demo: <?xml-stylesheet type="text/css" href="student.css" ?>

案例:

注意:使用 CSS 格式化 XML 不是常用的方法,更不能代表 XML 文档样式化的未来。W3C 推荐使用 XSLT。

十二、XML XSLT

XSLT 是首选的 XML 样式表语言。

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

使用 XSLT 的方法之一是在浏览器显示 XML 文件之前,先把它转换为 HTML,正如以下的这些例子演示的那样:

查看 XML 文件

XSLT 样式表

查看结果

下面是此 XML 文件的一个片断。 第二行,,把这个 XML 文件链接到 XSL 文件:

posted on   格物致知_Tony  阅读(72)  评论(0编辑  收藏  举报
编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· 面试官:你是如何进行SQL调优的?
点击右上角即可分享
微信分享提示

目录导航