我的XML学习笔记

来源:互联网 发布:json python 编辑:程序博客网 时间:2024/06/08 01:22

Extensible Markup Language(可扩展标记语言,XML)近几年得到了广泛的关注。XML.NET中执行大量的任务,包括应用程序的配置、在WEB服务之间传书信息等。

XML是一种以简单文本格式存储数据的方式,这意味着它可以被任何计算机读取。XML是在Internet上传书数据的绝佳格式。通过使用XML,您的数据可存储于HTML之外。

XML在未来的Web开发中扮演的角色。

XML将会无所不在。当我们看到XML标准突飞猛进的开发进度,以及大批的软件开发商采用这个标准的日新月异的速度时,真的是不禁感叹这真是令人叹为观止。我们坚定地认为,XML将在Web的未来中起到的作用不会亚于一直作为Web基石的HTML,并且,XML将会成为所有的数据处理和数据传输的最常用的工具。

记住,XMLXML是跨平台的、用于传输信息且独立于软件和硬件的工具

下面举一个很简单的例子来说明它对于传输信息的重要性!

Jani写给Tove的便签,存储为XML

<note>

<to>Tove</to>

<from>Jani</from>

<heading>Reminder</heading>

<body>Don't forget me this weekend!</body>

</note>

一、       XML文档

XML中的完整数据集就是XML文档。XML文档可以是计算机上的物理文件,获知内存中的字符串。但是其本身必须是完整的,必须遵循一定的规则。XML文档由许多不同的部分组成。其中最重要的部分是XML元素,它包括文档的实际数据。

 

XML元素:

XML元素包含一个开标记(放在尖括号中的元素名称,比如<myElement>)、元素中的数据和比标记(与开标记想通,但是在左括号后有一个斜线:</myElement>)。例如:

定义一个存储署名的元素:

<book>Tristram Shandy</book>

注意:元素是区分大小写的!例如:<book><Book>是不同的!

元素也可以包含其他元素,因此可以修改此<book>元素,添加两个子元素,使之包括作者和标题:

<book>

       <title>Tristram Shandy</title>

       <author>Lawrence Sterne</author>

</book>

但是元素不允许重叠!例如:

<book>

       <title>Tristram Shandy

       <author>Lawrence Sterne

       </title></author>

</book>

这样是错误的!

 

XML属性

与在元素体内存储数据一样,也可以在属性内存储数据,属性添加到元素的开标记内。属性的形式为:

Name = “value”

其中属性值必须包含在单引号或者双引号内。例如:

<book title=”Tristram Shandy”></book>

或者:

<book title = ‘Tristram Shandy’></book>

 

XML声明:

XML文档的各个组成部分成为节点----因此元素、元素内的文本和属性都是XML文档的节点。但是只有一种类型的节点存在几乎所有的XML文档中,这就是XML声明,如果包括了它,它就必须是文档的第一个节点。

XML声明的格式类似于元素,但是在尖括号内有问号。它一贯的名称是xml,并总是有version属性。最简单的XML声明形式为:

<?xml version = “1.0”?>

 

XML文档的结构:

XML数据是分层组织的,有点类似于Windows Explorer中的文件夹和文件。每一个文档必须有一个根元素,其中包括所有的元素和文本数据。如果在文档的顶级中有多个元素,改文档就是不合法的XML文档。但是可以在顶级包括其他XML节点——通常是XML声明。下面的XML文档是合法的:

<?xml version=’1.0’?>

       <books>

              <book>Mody Dick</book>

              <book>Tristram Shandy</book>

              <book>Ulysses</book>

       </books>

但是下面的文档就不合法:

<?xml version=’1.0’?>

<book>Mody Dick</book>

<book>Tristram Shandy</book>

<book>Ulysses</book>

XML文档不需要任何预定义的结构。这是传统关系数据库和XML的主要区别之一。信息存储在XML中时不需要这个初始设置,所以XML是存储小块数据的非常方便的方式。

 

XML命名空间:

可以使用XML命名空间一定XML词汇表。这就可以讲不同词汇表中的元素包含到一个XML文档中,而没有因为(例如)两个不同的词汇表定义了一个<customer>元素而误解元素的风险。

使用前缀,后跟冒号,就可以将具体的元素或属性关联到特定的命名空间。例如,<wrox:book>表示wrox命名空间中的<book>元素。