XML

原创 2012年03月24日 09:33:45

XML,称为可扩展标记语言(Extensible Markup Language),用来创建自定义标记的标记语言。它由万维网协会(W3C)创建,用来克服 HTML(即超文本标记语言(Hypertext Markup Language),它是所有网页的基础)的局限。和 HTML 一样,XML 基于 SGML ― 标准通用标记语言(Standard Generalized Markup Language)。XML 是为 Web 设计的。

XML是以数据为中心的,用来标记数据,说明数据是什么的。

应用领域为:

n 信息存储和交换领域,类似于数据管理系统,来存储数据。这种数据处理与硬件,软件没有太大的关系,就是一个文本文件,具有可移植性。处理XML数据的时候,通过JAVA代码写的解析器就可以存取XML数据。

n 在J2EE服务器用的比较多,在服务器端通过XML文件来进行处理数据业务。配置文件几乎全是XML文件。在EJB,Hibernate等JAVA热门技术领域,XML的应用更加重要。

XML与HTML相同点:

n XML与HTML都是基于文本的标记语言。

XML与HTML差别:

n 在功能上最大的区别就是XML是标识数据的,HTML是显示数据的。

n 在内容上的最大的区别是HTML里面的标记(markup)都是定义好的,XML里面的标记都是自定义的。比如:对于那些HTML中的标记中形如"用斜体显示数据"(<i>…</i>)的地方,XML标签则表现为程序中的一个字段名。它为一个数据定义一个标记(label)来表示该数据。(如:<name>andy lau</name>)。注意:由于标识数据可以让你看出其中的意义(如何解释它,应该如何处理它),XML有时也被描述为一种能够指明数据意义(语义)的机制。

HTML是最成功的标记语言。您几乎可以在任何设备(从掌上电脑到大型机)上查看最简单的HTML标记,甚至可以用合适的工具将HTML标记转换成语音和其它格式。既然HTML成功了,为什么W3C(万维网协会)还要创建XML呢?为了回答这个问题,请查看下面这个文档:

<p>

<b>张三</b>

<br>

<br>西安电子科技大学:电子信息工程

</p>

HTML的问题在于它是为人设计的。即使不用浏览器查看上面的HTML文档,您和我也会知道那是某个人的信息。作为高级动物---人来讲:您和我具有理解大多数文档的含义和意图的智慧。但是遗憾的是机器不能做到。尽管这个文档中的标记告诉浏览器如何显示该信息,但标记没有告诉浏览器信息是什么?!您和我都知道它是一个人的信息,但计算机并不知道。要显示HTML,浏览器只需遵守HTML文档中的指令即可。段标记告诉浏览器在新的一行显示,并且通常在前面有一个空行,而两个换行标记则告诉浏览器前进到下一行,并且行之间没有空行。尽管浏览器出色地将文档格式化,但计算机仍不知道这个代表某个人的信息。

如下图在浏览器里的显示:

为了完成对样本HTML文档的讨论,请考虑从该信息中提取出该人是学哪个专业的?请看下面的算法:

从该文档中找到有两个<br>标记的段落,那么学校就是第二个换行标记的后面的第一个冒号后面的内容,尽管该算法对该文档起作用,但是不具备通用性。如果文档格式一改变,那么该算法就不生效了。

现在让我们来看一个样本XML文档。使用XML,您可以给文档中的标记赋予某种涵义。更重要的是,计算机也容易处理这样的信息。

请看下例:

<person>

<name>张三</name>

<sex></sex>

<daxue>西安电子科技大学</daxue>

<zhuanye>电子信息工程</zhuanye>

</person>

现在算法编写又简单又具有通用性:

我们只需要找到<zhuanye>和</zhuanye>标记之间的内容(技术上称为<zhuanye>元素),就可以从该文档抽取邮政编码。



application/xml and text/xml的区别

在使用Postman调试接口的时候,raw里面有关于xml传输有 application/xml 和 text/xml 两种方式 ,疑惑? 当你指定编码的时候,使用applicatio...
  • Kan_Auyeung
  • Kan_Auyeung
  • 2016年07月11日 10:10
  • 3371

xml嵌套xml时的转移字符

使用场景项目中,数据库升级工具,使用xml格式保存数据库升级脚本,格式如下: UPDATE sysconfig SET strV...
  • xuejianhui
  • xuejianhui
  • 2016年09月18日 17:51
  • 1248

XML的解析和XML字符串互转的方法

原作者上一共讲述了四中转换XML的方法,但是我觉得方法只要会一种就好,而且是那种最简单的,这个也是软件设计本身的原则,一方面为了软件开发便利,另一方面也对效率方面的要求不是特别高,我自己最喜欢用dom...
  • gengyazhou123
  • gengyazhou123
  • 2016年07月04日 22:08
  • 4915

xml转义符规则

最近在写一个xml解析器,我百度xml转义符被坑过,为了防止更多的人被坑,所以写下这篇博客。 强制要求转义的符号只有两个 &与 1、转义符以 & 开始 2、转义符以 ; 结束 3、大小...
  • Gnorth
  • Gnorth
  • 2017年01月06日 09:30
  • 1009

Web安全之XML注入

XML注入攻击,和SQL注入的原理一样,都是攻击者输入恶意的代码来执行自身权限以外的功能。 XML是存储数据的一种方式,如果在修改或者查询时,没有做转义,直接输入或输出数据,都将导致XML注入漏洞。...
  • mevicky
  • mevicky
  • 2015年09月06日 08:36
  • 7369

PHP 创建、增加、删除、修改 xml

创建xml 方法:
  • k8080880
  • k8080880
  • 2015年08月13日 18:03
  • 1856

xml颜色代码表

#00000000    #FFFFFF    #FFFFF0    #FFFFE0    #FFFF00    #FFFAFA    #FFFAF0    #FFFACD    #F...
  • u014096171
  • u014096171
  • 2016年09月01日 16:29
  • 2816

数据库XML数据查询

一、sql Server for xml生成xml for xml是一个行集聚和函数,返回nvarchar(max)的数据类型的单行单列结果集,type指令与for xml一起运用产生xml数据类型...
  • ceclar123
  • ceclar123
  • 2012年09月20日 16:52
  • 2380

application/xml和text/xml的区别

当你指定编码的时候,使用application/xml,而使用text/html会默认使用us-ascii编码编码传输数据...
  • CHS007chs
  • CHS007chs
  • 2017年06月30日 15:49
  • 647

XML使用总结(一)

XML是一种可拓展的标记语言,被设计用来描述、存储及传递数据的语言体,而它的标签没有被预定义,需要用户自行定义,是W3C推荐的数据存储和传递的标准标记语言。 • XML与HTML? • XML的用途...
  • why_2012_gogo
  • why_2012_gogo
  • 2016年03月25日 23:51
  • 2811
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:XML
举报原因:
原因补充:

(最多只允许输入30个字)