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配置WEB服务器时用的web.XML。这个应用估计是很容易理解的了。我们只要将需要的数据存入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. 【项目经验】如果想在mapper.xml文件中的一个标签中写多条sql语句,则需要在jdbc的配置文件中稍做配置

    如果想在mapper.xml文件中的一个标签中写多条sql语句,则需要在jdbc的配置文件中稍做配置: url=jdbc:mysql://127.0.0.1:3306/airipo?useUnicod ...

  2. XML是什么,它可以做什么?——写给XML入门者 (转自Sank Orange)

    XML是什么,它可以做什么?--写给XML入门者 http://blog.csdn.net/cds27/archive/2006/05/18/743409.aspx XML即可扩展标记语言(eXten ...

  3. XML——写出XML文档(XSLT+StAX)

    [0]README 0.1) 本文描述部分转自 core java volume 2 , 旨在理解 XML--写出XML文档(XSLT+StAX) 的基础知识 : 0.2) for source co ...

  4. 使用XMLTemplater写出XML

    原文发布时间:2016-12-07 翻译文章地址:https://knowledge.safe.com/articles/30940/xml-writing-with-xmltemplater.htm ...

  5. nuxt.js做站点地图(sitemap.xml)详解

    前言 在做跨境电商项目中seo是必须要做的,seo中站点地图(sitemap.xml,robots.txt)又是必不可少的,这里就记录一下nuxt中站点地图是如何做的. 第一步:安装@/nuxt/si ...

  6. 制衣厂普工小伙用java代码写的xml解析框架

    xml解析框架,这个框架也可以解析html,是我自己写的xml解析技术,花费我很多的时间,我在工厂做这个工作来维持生计↓↓↓↓↓↓↓↓ 哈哈哈,开个玩笑,下面这张图片才是我,这张图片是主管拍的 平均月 ...

  7. 《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一3.7.5 使用StAX写出XML文档

    3.7.5 使用StAX写出XML文档 在前一节中,你看到了如何通过写出DOM树的方法来产生XML文件.如果这个DOM树没有其他任何用途,那么这种方式就不是很高效. StAX API使我们可以直接将X ...

  8. php和python写爬虫-一个简单的Python写的XML爬虫

    一个简单的Python写的XML爬虫 来源:程序员人生 发布时间:2013-11-06 16:22:29 阅读次数:1578次 原理很简单,读XML结构,返回值,判断,根据返回的值得到下一个XML的地 ...

  9. php文件里直接写上?xml version=1.0 encoding=utf-8?出错?

    因为你的PHP启用了短标签功能,即<?php  ...  ?> 缩写为<? ... ?>,所以当你写上<?xml version="1.0" enco ...

最新文章

  1. 与老大的交谈——估算项目时间
  2. 选择“Win32汇编”的三大理由?
  3. 已安装内存和可用内存不一致 4GB内存在win1064位系统中显示为可用 3.87GB解决办法
  4. 【mybatis】插入操作更新id
  5. MVC5+EF6 入门完整教程 总目录
  6. 服务器数据库2008怎么备份数据库文件,怎么备份SQL Server2008数据库
  7. ADBPGGreenplum成本优化之磁盘水位管理
  8. Oracle 11g R2 ADG 运维
  9. python 朋友圈leetcode_利特代码0547。朋友圈[python],LeetCode0547FriendCircles,Python
  10. Google 又有新动作了
  11. 【音频】G711编码原理
  12. 数据库在一对一、一对多、多对多怎么设计表关系
  13. 实现点击桌面的一个图标打开多个选择画面
  14. [云原生专题-16]:容器 - 在Windows主机上搭建Docker环境
  15. service层的意义
  16. Healer的第一篇博客
  17. 【Python绘图】学习绘图第一步,先要知道哪些操作是常用的
  18. 说说对React refs 的理解?应用场景?
  19. 计算机应用基础理论教案,计算机应用基础理论教案
  20. java hadoop mahout_hadoop 之Mahout 数据挖掘

热门文章

  1. 移动端1px 图片
  2. windows笔记本电脑啥东西都没开,电脑内存和磁盘某段时间突然很满90%以上,电脑卡的解决办法
  3. android后台获取view,如何获取AdapterView中当前显示的项目?
  4. node.js 用typescript实现 图片,音频压缩工具
  5. 在HTML中添加背景音乐
  6. 钉钉回放视频下载最新方法,不用复杂代码
  7. 当前端要做地区显示,而后端传给你的只有地区编码
  8. JQuery(四) 对象数组进行排序
  9. 【图像压缩】基于分形编码图像压缩matlab源码
  10. 猜数字游戏(C语言生成随机数)