XML就可以扩展标记语言(eXtensible Markup Language)。标记是指计算机所能理解的信息符号,通过此种标记,计算机之间能够处理包括各种信息的文章等。怎样定义这些标记,既能够选择国际通用的标记语言,比方HTML,也能够使用象XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从SGML中简化改动出来的。它主要用到的有XML、XSL和XPath等。

上面这段是对XML的一个基本定义,一个被广泛接受的说明。简单说,XML就是一种数据的描写叙述语言,尽管它是语言,可是通常情况下,它并不具备常见语言的基本功能——被计算机识别并执行。仅仅有依靠还有一种语言,来解释它,使它达到你想要的效果或被计算机所接受。

假如你是刚接触XML的新手,那么可能并无法从定义上是了解XML是什么。或许,你能够换个角度来认识XML是什么;从应用面来认识XML,从XML能够做些什么来认识它,这应该能比那更空洞的定义对你更有帮助。

XML应用面主要分为两种类型,文档型和数据型。以下介绍一下几种常见的XML应用:

1、自己定义XML+XSLT=>HTML,最常见的文档型应用之中的一个。XML存放整个文档的XML数据,然后XSLT将XML转换、解析,结合XSLT中的HTML标签,终于成为HTML,显示在浏览器上。典型的样例就是CSDN上的帖子。

2、XML作为微型数据库,这是最常见的数据型应用之中的一个。我们利用相关的XML API(MSXML DOM、JAVA DOM等)对XML进行存取和查询。留言板的实现中,就常常能够看到用XML作为数据库。同一时候,这里要告诉一些新人,数据库和数据库系统,这两个概念是不同的。这里顺便提一下XML对数据库系统的影响。在新版本号的传统数据库系统中,XML成为了一种数据类型。和“传统”相对的就是一种新形态的数据库,全然以XML相关技术为基础的数据库系统。眼下比較知名的eXist。

3、作为信息传递的载体。为什么说是载体呢?由于这些应用尽管还是以XML为基本形态,可是都已经发展出具有特定意义的格式形态。最典型的就是WEB SERVICE,将数据包装成XML来传递,可是这里的XML已经有了特定的规格,即SOAP。只是这里还不得不说AJAX,AJAX的应用中,相信也有一部分的应用是以自己定义XML为数据,只是没有成为工业标准,这里不做详述。

4、应用程序的配置信息数据。最典型的就是J2EE配置WEBserver时用的web.XML。这个应用预计是非常easy理解的了。我们仅仅要将须要的数据存入XML,然后在我们的应用程序执行加载,依据不同的数据,做对应的操作。这里事实上和应用2,有点相似,所不同的在于,数据库中的数据变化是个常态,而配置信息往往是较为静态,缺少变化的。

5、其它一些文档的XML格式。如WORD、EXCEL等。

6、保存数据间的映射关系。如Hibernate。

这几种常见应用中,我们还能够依据其应用广泛程度,分为:自己定义XML和特定意义XML。在1和2就是属于自己定义XML的范畴;3至6则属于特定意义XML,或者说是XML的延伸。

这里介绍的6种应用,基本涵盖了XML的主要用途。总之,XML是一种抽象的语言,它不如传统的程序语言那么详细。要深入的认识它,应该先从它的应用入手,选择一种你须要的用途,然后再学习怎样使用。

如有转载请注明出处,谢谢。

作者:Sank Orange

XML是什么,它能够做什么?——写给XML入门者的更多相关文章

  1. 帮你彻底解决eclipse(myeclipse)中写struts.xml配置文件

    其实,在自己写struts.xml的时候,竟然没有代码提示功能.让我非常的烦恼,其实解决这个问题的关键还是system不知道他的dtd的规则无法提示配置信息 很简单,那就让它知道就OK了!!! 道理明 ...

  2. 将应用程序中的一些参数写到xml配置文件中

    最近碰到一个问题,需要将程序中的一些基本参数写到xml文件中,虽然网上有好多现成的代码,但是觉得对xml不熟悉,果断就研究了一下.先说一下大体思路吧,我设计了一个用来读取和回填的类,然后定义了一个接口 ...

  3. 根据Schema写出XML文档四部曲

    Schema约束文档本身就是一个XML文档,扩展名为xsd 难点:XML文档的根元素怎么写? 如下4步曲: a.首先看Schema文档,找到根元素 <?xml version="1.0 ...

  4. 写一个xml文件到磁盘的方法

    /** * 往磁盘上写一个xml文件 * * <?xml version="1.0" encoding="UTF-8" standalone=" ...

  5. testng入门教程16数据驱动(把数据写在xml)

    testng入门教程16数据驱动(把数据写在xml) testng入门教程16数据驱动(把数据写在xml)把数据写在xml文件里面,在xml文件右键选择runas---testng执行 下面是case ...

  6. 在Android中把内容写到XML文件中

    在Android中把内容写到XML文件中 saveXmlButton.setOnClickListener(new OnClickListener() { @Override public void ...

  7. C# 二进制序列化(BinaryFormatter),Xml序列化(XmlSerializer),自己模拟写一个Xml序列化过程。

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  8. 十六、JSONObject与JSONArray使用-不刷新页面做回写显示

    需要导入:json-lib-2.2.2-.jar包 1.json:就是一个键对应一个值,超级简单的一对一关系.对于json嵌套,只要记住符号“:”前是键,符号后是值大括号成对找. String arr ...

  9. 用pytorch做手写数字识别,识别l率达97.8%

    pytorch做手写数字识别 效果如下: 工程目录如下 第一步  数据获取 下载MNIST库,这个库在网上,执行下面代码自动下载到当前data文件夹下 from torchvision.dataset ...

  10. java解析xml汇总(转自倾城幻影-Java解析xml汇总,链接:http://www.cnblogs.com/jiugehuanying/archive/2012/01/12/2320058.html)

    [引言] 目前在Java中用于解析XML的技术很多,主流的有DOM.SAX.JDOM.DOM4j,下文主要介绍这4种解析XML文档技术的使用.优缺点及性能测试. [一.基础知识--扫盲] sax.do ...

随机推荐

  1. 图像处理中像素点的问题:unsigned char 和 char

    以前在做图像处理的时候,一直不太在意这个问题,对图像每个像素点的灰度值,总是认为char也可,unsigned char也可.尽管它们都是8位,但是表示的数的范围却不相同:char: -128~127 ...

  2. 【指数型母函数+非递归快速幂】【HDU2065】"红色病毒"问题

    大一上学完数分上后终于可以搞懂指数型母函数了.. 需要一点关于泰勒级数的高数知识 题目在此: "红色病毒"问题 Time Limit: 1000/1000 MS (Java/Oth ...

  3. for循环删除集合陷阱

    首先看下面的代码: import java.util.LinkedList;import java.util.List; public class DeleteCollection {         ...

  4. asp.net遍历页面中所有TextBox,并赋值为String.Empty的方法

    本文介绍下,如何用.net遍历页面中的所有TextBox控件,并赋值为string.empty的方法,通过实例学习具体操作.有需要的朋友可以参考下.   一.遍历窗体控件 1,普通页面遍历TextBo ...

  5. html 基础之 <link>标签

    实例 链接一个外部样式表: <head> <link rel="stylesheet" type="text/css" href=" ...

  6. linux学习笔记之套接字

    一.基础知识. 1:套接字基础. 1,是通信端点的抽象. 2,在UNIX类系统中被当作是一种文件描述符. 3,套接字通信域. 域 描述 AF_INET IPV4因特网域 AF_INET6 IPV6因特 ...

  7. 解决Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead

    因为最近更新的PHP版本,写sql语句,忽然发现不能用了,上网查了一些原因,找到几个方法如下: 1.禁止php报错 display_errors = on 改成 display_errors = of ...

  8. kettle查询出来的真实值被识别为null

    问题描述: 通过关联表查询出来的applyId(申请编号),在数据流里也是能看到的,但是在写入到数据表中的时候,由于设置了这个字段不能为空,所以一直报错. 问题实质: 数据流内存在的数据却不能保存,原 ...

  9. MYSQL5.6数据库ZIP安装以及VS中使用注意事项

    先挂资源,下载地址: http://download.softagency.net/MySQL/Downloads/. 找到MYSQL5.6,两个版本看系统而定我下的是64位的:http://down ...

  10. PowerDesigner中NAME和COMMENT的互相转换,需要执行语句

    原文: http://www.cnblogs.com/xnxylf/p/3288718.html 由于PDM 的表中 Name 会默认=Code 所以很不方便, 所以需要将 StereoType 显示 ...