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配置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入门者的更多相关文章
- 帮你彻底解决eclipse(myeclipse)中写struts.xml配置文件
其实,在自己写struts.xml的时候,竟然没有代码提示功能.让我非常的烦恼,其实解决这个问题的关键还是system不知道他的dtd的规则无法提示配置信息 很简单,那就让它知道就OK了!!! 道理明 ...
- 将应用程序中的一些参数写到xml配置文件中
最近碰到一个问题,需要将程序中的一些基本参数写到xml文件中,虽然网上有好多现成的代码,但是觉得对xml不熟悉,果断就研究了一下.先说一下大体思路吧,我设计了一个用来读取和回填的类,然后定义了一个接口 ...
- 根据Schema写出XML文档四部曲
Schema约束文档本身就是一个XML文档,扩展名为xsd 难点:XML文档的根元素怎么写? 如下4步曲: a.首先看Schema文档,找到根元素 <?xml version="1.0 ...
- 写一个xml文件到磁盘的方法
/** * 往磁盘上写一个xml文件 * * <?xml version="1.0" encoding="UTF-8" standalone=" ...
- testng入门教程16数据驱动(把数据写在xml)
testng入门教程16数据驱动(把数据写在xml) testng入门教程16数据驱动(把数据写在xml)把数据写在xml文件里面,在xml文件右键选择runas---testng执行 下面是case ...
- 在Android中把内容写到XML文件中
在Android中把内容写到XML文件中 saveXmlButton.setOnClickListener(new OnClickListener() { @Override public void ...
- C# 二进制序列化(BinaryFormatter),Xml序列化(XmlSerializer),自己模拟写一个Xml序列化过程。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 十六、JSONObject与JSONArray使用-不刷新页面做回写显示
需要导入:json-lib-2.2.2-.jar包 1.json:就是一个键对应一个值,超级简单的一对一关系.对于json嵌套,只要记住符号“:”前是键,符号后是值大括号成对找. String arr ...
- 用pytorch做手写数字识别,识别l率达97.8%
pytorch做手写数字识别 效果如下: 工程目录如下 第一步 数据获取 下载MNIST库,这个库在网上,执行下面代码自动下载到当前data文件夹下 from torchvision.dataset ...
- 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 ...
随机推荐
- Linux MySql安装步骤
本文将以MySQL 5.5.47为例,以CentOS 6.5为平台,讲述MySQL数据库的安装和设置. 源码包方式安装 1.新建MySql用户和用户组 groupadd mysql useradd - ...
- java实现写大量数据到文件中
生成.txt文件 生成.csv文件 生成.xls文件 import java.io.BufferedWriter; import java.io.File; import java.io.FileOu ...
- hdu 4627 水数学题
最小公倍数最大,也就是尽量让2个数互质,所以把n除以2 从中间向两边找就够了,自己写几组数据就能发现规律. 注意longlong存 #include<cstdio> #include< ...
- 基于纹理边缘抑制的轮廓和边界检测(Contour and Boundary Detection)
基于纹理边缘抑制的轮廓和边界检测(Contour and Boundary Detection) kezunhai@gmail.com http://blog.csdn.net/kezunhai 一幅 ...
- 如何彻底解决jsp页面中文乱码及数据库乱码
最近自己闲做一个小项目,搭建环境框架SSH+MySQL数据库,遇到一个问题:jsp页面中文显示乱码,数据库插入数据和更新数据时中文也显示乱码,后来在网上找了许多解决方法,还是折腾了两天才把问题解决,下 ...
- onvif规范的实现:使用gSOAP创建SOAP调用实例
预备知识 ONVIF规范中设备管理和控制部分所定义的接口均以Web Services的形式提供.ONVIF规范涵盖了完全的XML及WSDL的定义.每一个支持ONVIF规范的终端设备均须提供与功能相应的 ...
- Cisco密码恢复
1.利用超级终端连接路由器,重新启动路由器,按CTRL+BREAK进入ROM监控模式 注:配置寄存器(2B)第六位控制是否读取NVRAM中的配置文件 2.修改配置寄存器:2600系列:1): con ...
- 安装TDM-GCC
TDM-GCC是一组免费的编译器套件,有32位和64位两种版本.其中64位版既可以编译生成64位的可执行文件,又可以编译生成32位的可执行文件.从TDM-GCC的官网可以下载到相应的安装包,安装完成后 ...
- JSON入门之二:org.json的基本用法
java中用于解释json的主流工具有org.json.json-lib与gson,本文介绍org.json的应用. 官方文档: http://www.json.org/java/ http://de ...
- Github android客户端源代码分析之一:环境搭建
1.下载相应的包及项目,参考https://github.com/github/android/wiki/Building-From-Eclipse. 2.若需查看某些包的源文件或者javadoc,则 ...