[xml文档的应用]
按照常规流程我们还是先来介绍下什么是xml文档
xml文档是属于一种可扩展标记语言
中文名称:可扩展标记语言
外文名称:eXtensible Markup Language
类型:标记语言
外语缩写:XML(也做文件扩展名)
其他称呼:可扩展置标语言、可扩展标识语言
可扩展标记语言是标准通用标记语言的子集,一种用于标记电子文件使其具有结构性的标记语言。 它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
格式特性:
XML与 Access, Oracle和 SQL Server等数据库不同,数据库提供了更强有力的 数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是存储数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同。
XML与 HTML的设计区别是:XML的核心是数据,其重点是数据的内容。而 HTML 被设计用来显示数据,其重点是数据的显示。
XML和HTML语法区别:HTML的标记不是所有的都需要成对出现,XML则要求所有的标记必须成对出现;HTML标记不区分大小写,XML则 大小敏感,即区分大小写。
XML的简单使其易于在任何应用 程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的 应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows,Mac OS,Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。
为了使得 SGML显得用户友好,XML重新定义了SGML的一些内部值和参数,去掉了大量的很少用到的功能,这些繁杂的功能使得SGML在设计网站时显得复杂化。XML保留了SGML的结构化功能,这样就使得网站设计者可以定义自己的文档类型,XML同时也推出一种新型文档类型,使得开发者也可以不必定义文档类型。
优点:
1.兼容现有协议
XML文档格式的管理信息可以很容易地通过HTTP 协议传输,由于HTTP是建立在TCP之上的,故管理数据能够可靠传输。XML还支持访问XML文档的标准API,如DOM,SAX,XSLT,Xpath等。
2.统一的管理数据存取格式
XML能够以灵活有效的方式定义管理信息的结构。以XML格式存储的数据不仅有良好的内在结构,而且由于它是W3C提出的国际标准,因而受到广大软件提供商的支持,易于进行数据交流和开发。现有网络管理标准如TMN、SNMP等的管理信息库规范决定了网管数据符合层次结构和面向对象原则,这使得以XML格式存储网管数据也非常自然,易于实现。
3.不同应用系统间数据的共享和交互
只要定义一套描述各项管理数据和管理功能的XML语言,用Schema对这套语言进行规定,并且共享这些数据的系统的XML文档遵从这些Schema,那么管理数据和管理功能就可以在多个应用系统之间共享和交互。
4.底层传输的数据更具 可读性
网络中传输的底层数据因协议不同而编码规则不同,虽然最终传输时都是二进制位流,但是不同的应用协议需要提供不同的转换机制。这种情况导致管理站在对采用不同协议发送管理信息的被管对象之间进行管理时很难实现兼容。如果协议在数据表示时都采用XML格式进行描述,这样网络之间传递的都是简单的字符流,可以通过相同的XML解析器进行解析,然后根据不同的XML标记,对数据的不同部分进行区分处理,使底层数据更具可读性。
--摘自360百科
以上的解释主要介绍了xml文件的特性以及它在网络传输方面的优势,其实它在软件应用方面也有很有用的用法,软件上读取非常多数据时一般会用到数据库,但是数据库是较为繁杂的,在数据不是特别多的情况下,使用xml文档来做小型数据库是个非常好的选择,假如你设计的一个程序,你想让这个程序关闭时自动记录下退出时窗体的位置及窗体的大小或其它属性,我们可以选择在注册表里建立专门的键和键值(注册表的介绍http://baike.baidu.com/view/979.htm?fr=aladdin),来储存这些数据,但这个过程是比较麻烦的,如果你对注册表并不熟悉,那只得打开注册表编辑器自己一个键一个键的查看,再把键值创建到合适的地方,而且由于是软件自动修改了注册表的值,通常如360等主流杀毒防御软件都会发出警告,这种做法明显并不好,假如我们让程序自动生成一个xml文档并在其中建立基本的如文档声明、根元素等基础元素,并编写代码让程序退出时把窗体的位置、大小作为子元素写入该xml文档,再编写代码使程序第二次启动时先读取该xml文档中的位置、大小信息给窗体作为大小、位置,这样就能完成这个功能了,假如你做的是个用户注册登录系统的话,虽然数据小但是安全性很重要再而假如你要从另一台电脑用同样的软件登录那么就需要刚刚注册的帐户信息,假如这些信息仅仅在注册用户的电脑中作为xml文档保存,这显然是不合适的,因为这个xml文档的信息将无法被另一台电脑访问,也就是无法登陆了,那么最终就得用到服务器数据库了,这样每台电脑的这个软件都可以通过一个命令把需要的用户信息安全的下载下来并验证登录,这种方式极大的促进了互联网的发展。
按照常规流程我们还是先来介绍下什么是xml文档
xml文档是属于一种可扩展标记语言
中文名称:可扩展标记语言
外文名称:eXtensible Markup Language
类型:标记语言
外语缩写:XML(也做文件扩展名)
其他称呼:可扩展置标语言、可扩展标识语言
可扩展标记语言是标准通用标记语言的子集,一种用于标记电子文件使其具有结构性的标记语言。 它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
格式特性:
XML与 Access, Oracle和 SQL Server等数据库不同,数据库提供了更强有力的 数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是存储数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同。
XML与 HTML的设计区别是:XML的核心是数据,其重点是数据的内容。而 HTML 被设计用来显示数据,其重点是数据的显示。
XML和HTML语法区别:HTML的标记不是所有的都需要成对出现,XML则要求所有的标记必须成对出现;HTML标记不区分大小写,XML则 大小敏感,即区分大小写。
XML的简单使其易于在任何应用 程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的 应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows,Mac OS,Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。
为了使得 SGML显得用户友好,XML重新定义了SGML的一些内部值和参数,去掉了大量的很少用到的功能,这些繁杂的功能使得SGML在设计网站时显得复杂化。XML保留了SGML的结构化功能,这样就使得网站设计者可以定义自己的文档类型,XML同时也推出一种新型文档类型,使得开发者也可以不必定义文档类型。
优点:
1.兼容现有协议
XML文档格式的管理信息可以很容易地通过HTTP 协议传输,由于HTTP是建立在TCP之上的,故管理数据能够可靠传输。XML还支持访问XML文档的标准API,如DOM,SAX,XSLT,Xpath等。
2.统一的管理数据存取格式
XML能够以灵活有效的方式定义管理信息的结构。以XML格式存储的数据不仅有良好的内在结构,而且由于它是W3C提出的国际标准,因而受到广大软件提供商的支持,易于进行数据交流和开发。现有网络管理标准如TMN、SNMP等的管理信息库规范决定了网管数据符合层次结构和面向对象原则,这使得以XML格式存储网管数据也非常自然,易于实现。
3.不同应用系统间数据的共享和交互
只要定义一套描述各项管理数据和管理功能的XML语言,用Schema对这套语言进行规定,并且共享这些数据的系统的XML文档遵从这些Schema,那么管理数据和管理功能就可以在多个应用系统之间共享和交互。
4.底层传输的数据更具 可读性
网络中传输的底层数据因协议不同而编码规则不同,虽然最终传输时都是二进制位流,但是不同的应用协议需要提供不同的转换机制。这种情况导致管理站在对采用不同协议发送管理信息的被管对象之间进行管理时很难实现兼容。如果协议在数据表示时都采用XML格式进行描述,这样网络之间传递的都是简单的字符流,可以通过相同的XML解析器进行解析,然后根据不同的XML标记,对数据的不同部分进行区分处理,使底层数据更具可读性。
--摘自360百科
以上的解释主要介绍了xml文件的特性以及它在网络传输方面的优势,其实它在软件应用方面也有很有用的用法,软件上读取非常多数据时一般会用到数据库,但是数据库是较为繁杂的,在数据不是特别多的情况下,使用xml文档来做小型数据库是个非常好的选择,假如你设计的一个程序,你想让这个程序关闭时自动记录下退出时窗体的位置及窗体的大小或其它属性,我们可以选择在注册表里建立专门的键和键值(注册表的介绍http://baike.baidu.com/view/979.htm?fr=aladdin),来储存这些数据,但这个过程是比较麻烦的,如果你对注册表并不熟悉,那只得打开注册表编辑器自己一个键一个键的查看,再把键值创建到合适的地方,而且由于是软件自动修改了注册表的值,通常如360等主流杀毒防御软件都会发出警告,这种做法明显并不好,假如我们让程序自动生成一个xml文档并在其中建立基本的如文档声明、根元素等基础元素,并编写代码让程序退出时把窗体的位置、大小作为子元素写入该xml文档,再编写代码使程序第二次启动时先读取该xml文档中的位置、大小信息给窗体作为大小、位置,这样就能完成这个功能了,假如你做的是个用户注册登录系统的话,虽然数据小但是安全性很重要再而假如你要从另一台电脑用同样的软件登录那么就需要刚刚注册的帐户信息,假如这些信息仅仅在注册用户的电脑中作为xml文档保存,这显然是不合适的,因为这个xml文档的信息将无法被另一台电脑访问,也就是无法登陆了,那么最终就得用到服务器数据库了,这样每台电脑的这个软件都可以通过一个命令把需要的用户信息安全的下载下来并验证登录,这种方式极大的促进了互联网的发展。