XML是什么,它可以做什么?——写给XML入门者
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入门者相关推荐
- 【项目经验】如果想在mapper.xml文件中的一个标签中写多条sql语句,则需要在jdbc的配置文件中稍做配置
如果想在mapper.xml文件中的一个标签中写多条sql语句,则需要在jdbc的配置文件中稍做配置: url=jdbc:mysql://127.0.0.1:3306/airipo?useUnicod ...
- XML是什么,它可以做什么?——写给XML入门者 (转自Sank Orange)
XML是什么,它可以做什么?--写给XML入门者 http://blog.csdn.net/cds27/archive/2006/05/18/743409.aspx XML即可扩展标记语言(eXten ...
- XML——写出XML文档(XSLT+StAX)
[0]README 0.1) 本文描述部分转自 core java volume 2 , 旨在理解 XML--写出XML文档(XSLT+StAX) 的基础知识 : 0.2) for source co ...
- 使用XMLTemplater写出XML
原文发布时间:2016-12-07 翻译文章地址:https://knowledge.safe.com/articles/30940/xml-writing-with-xmltemplater.htm ...
- nuxt.js做站点地图(sitemap.xml)详解
前言 在做跨境电商项目中seo是必须要做的,seo中站点地图(sitemap.xml,robots.txt)又是必不可少的,这里就记录一下nuxt中站点地图是如何做的. 第一步:安装@/nuxt/si ...
- 制衣厂普工小伙用java代码写的xml解析框架
xml解析框架,这个框架也可以解析html,是我自己写的xml解析技术,花费我很多的时间,我在工厂做这个工作来维持生计↓↓↓↓↓↓↓↓ 哈哈哈,开个玩笑,下面这张图片才是我,这张图片是主管拍的 平均月 ...
- 《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一3.7.5 使用StAX写出XML文档
3.7.5 使用StAX写出XML文档 在前一节中,你看到了如何通过写出DOM树的方法来产生XML文件.如果这个DOM树没有其他任何用途,那么这种方式就不是很高效. StAX API使我们可以直接将X ...
- php和python写爬虫-一个简单的Python写的XML爬虫
一个简单的Python写的XML爬虫 来源:程序员人生 发布时间:2013-11-06 16:22:29 阅读次数:1578次 原理很简单,读XML结构,返回值,判断,根据返回的值得到下一个XML的地 ...
- php文件里直接写上?xml version=1.0 encoding=utf-8?出错?
因为你的PHP启用了短标签功能,即<?php ... ?> 缩写为<? ... ?>,所以当你写上<?xml version="1.0" enco ...
最新文章
- 与老大的交谈——估算项目时间
- 选择“Win32汇编”的三大理由?
- 已安装内存和可用内存不一致 4GB内存在win1064位系统中显示为可用 3.87GB解决办法
- 【mybatis】插入操作更新id
- MVC5+EF6 入门完整教程 总目录
- 服务器数据库2008怎么备份数据库文件,怎么备份SQL Server2008数据库
- ADBPGGreenplum成本优化之磁盘水位管理
- Oracle 11g R2 ADG 运维
- python 朋友圈leetcode_利特代码0547。朋友圈[python],LeetCode0547FriendCircles,Python
- Google 又有新动作了
- 【音频】G711编码原理
- 数据库在一对一、一对多、多对多怎么设计表关系
- 实现点击桌面的一个图标打开多个选择画面
- [云原生专题-16]:容器 - 在Windows主机上搭建Docker环境
- service层的意义
- Healer的第一篇博客
- 【Python绘图】学习绘图第一步,先要知道哪些操作是常用的
- 说说对React refs 的理解?应用场景?
- 计算机应用基础理论教案,计算机应用基础理论教案
- java hadoop mahout_hadoop 之Mahout 数据挖掘