学习完了XML,知道它为可扩展标记语言(eXtensible Markup Language),是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据。看着这一套官方的定义,对于自己目前对XML的学习,还很难参透这些话的含义。首先,在我的潜意识里,只知道XML可以应用在web开发中,然后查了一些相关的资料,整理了XML大概的一些应用范围,消除了自己狭隘的目光。

1、 配置文件

许多应用都将配制数据存储在各种文件里,比如.INI文件。虽然这样的文件格式已经使 用多年并一直很好用,但是XML还是以更为优秀的方式为应用程序标记配制数据。使用. NET里的类,如XmlDocument和XmlTextReader,将配制数据标记为XML格式,能使其更具 可读性,并能方便地集成到应用系统中去。当然还包括Spring中applicationContext.xml,Hibernate中的hiberante.cfg.xml,Struts2中的struts.xml,log4j中的log4j.xml,web应用中的web.xml,Tomcat中的server.xml等。使用XML配制文件的应用程序能够方便地处理 所需数据,不用像其他应用那样要经过重新编译才能修改和维护应用系统。

2、 数据交换

用XML在应用程序和公司之间作数据交换被列为第一位。 那么为什么XML在这个领域里的地位这么重要呢?原因就是XML使用元素和属性来描述数 据。在数据传送过程中,XML始终保留了诸如父/子关系这样的数据结构。几个应用程序 可以共享和解析同一个XML文件,不必使用传统的字符串解析或拆解过程。 相反,普通文件不对每个数据段做描述(除了在头文件中),也不保留数据关系结构。使 用XML做数据交换可以使应用程序更具有弹性,因为可以用位置(与普通文件一样)或用元素名(从数据库)来存取XML数据。

3、 Web服务

Web服务让使用不同系统和不同编程语言的人们能够相互交 流和分享数据。其基础在于Web服务器用XML在系统之间交换数据。交换数据通常用XML标 记,能使协议取得规范一致,比如在简单对象处理协议(Simple Object Access Protoc ol, SOAP)平台上。 SOAP可以在用不同编程语言构造的对象之间传递消息。这意味着一个C#对象能够与一个 Java对象进行通讯。这种通讯甚至可以发生在运行于不同操作系统上的对象之间。DCOM , CORBA或Java RMI只能在紧密耦合的对象之间传递消息,SOAP则可在松耦合对象之间传 递消息。

4、 内容管理

XML只用元素和属性来描述数据,而不提供数据的显示方法。这样,XML就提供了一个优秀的方法来标记独立于平台和语言的内容。 使用像XSLT这样的语言能轻易地将XML文件转换成各种格式文件,比如HTML, WML, PD F, flat file, EDI, 等等。XML具有的能够运行于不同系统平台之间和转换成不同格式 目标文件的能力使得它成为内容管理应用系统中的优秀选择。

5、 Web集成

现在有越来越多的设备也支持XML了。使得Web开发商可以在个人电子助理和浏览器之间 用XML来传递数据。 为什么将XML文本直接送进这样的设备去呢?这样作的目的是让用户更多地自己掌握数据显示方式,更能体验到实践的快乐。常规的客户/服务(C/S)方式为了获得数据排序或更 换显示格式,必须向服务器发出申请;而XML则可以直接处理数据,不必经过向服务器申 请查询-返回结果这样的双向“旅程”,同时在设备也不需要配制数据库。 甚至还可以对设备上的XML文件进行修改并将结果返回给服务器。想像一下,一台具有互 联网功能并支持XML的电冰箱将会给市场带来多么大的冲击吧。你从此不必早起去取牛奶了!

6、 缓存:这里没有查询到相关的资料,具体怎么做缓存使用,我也不了解

7、 桌面应用程序

8、 数据库

在小的应用程序中,可以用来存放数据。这里我有些以后的是,xml可以作为数据库使用,那么它是不是也可以归结为数据交换那个方面,因为数据库不就是用来交换数据的。

9、 作为标准协议和自定义消息 
标准协议,就比如SOAP,是基于XML的标准协议 在自己的分布式系统中,也可以定义自己的协议,用XML实现,就可以传递只有自己的应用系统才可以识别的协议 。

总之,这些并不能包含XML的所有潜在应用,至少是些最重要的领域。我们只有了解了XML的应用范围,以及给我们带来的好处,才能更好的应用。

XML学习之应用范围相关推荐

  1. XML学习笔记02【xml_解析】

    Java后端 学习路线 笔记汇总表[黑马程序员] XML学习笔记01[xml_基础.xml_约束][day01] XML学习笔记02[xml_解析][day01] 目录 03 xml_解析 xml_解 ...

  2. XML学习笔记01【xml_基础、xml_约束】

    Java后端 学习路线 笔记汇总表[黑马程序员] XML学习笔记01[xml_基础.xml_约束][day01] XML学习笔记02[xml_解析][day01] 目录 01 xml_基础 今日内容 ...

  3. XML - XML学习/XML文件解析器(C++)实现

    XML - XML学习/XML文件解析器(C++)实现 XML概述 ​ XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识.它也是元标记语言,用于定义其他与特定领域有关的, ...

  4. XML学习笔记(1)

    XML学习笔记(1) 陈保权 2006-2-27 定义:XML:可扩展标记语言,可扩展表现在我们可以自已定义标记不像HTML那样只能用人家定义好的标记,另外XML对结构化数据由很好的表现,便于软件分析 ...

  5. XML学习总结(1)——XML入门

    2019独角兽企业重金招聘Python工程师标准>>> 一.XML语法学习 学习XML语法的目的就是编写XML 一个XML文件分为如下几部分内容: 文档声明 元素 属性 注释 CDA ...

  6. XML学习笔记之XML的简介

    最近,自学了一段时间xml,希望通过学习笔记的整理能够巩固一下知识点,也希望把知识分享给你们(描红字段为重点): XML(extensible Markup language):可扩展的标记语言,解决 ...

  7. XML学习总结(2)——XML简单介绍

    2019独角兽企业重金招聘Python工程师标准>>> 一.XML概念 Extensible Markup Language,翻译过来为可扩展标记语言.Xml技术是w3c组织发布的, ...

  8. XML学习笔记(二)-- DTD格式规范

    标签(空格分隔): 学习笔记 XML的一个主要目的是允许应用程序之间自由交换结构化的数据,因此要求XML文档具有一致的结构.业务逻辑和规则.可以定义一种模式来定义XML文档的结构,并借此验证XML文档 ...

  9. servlet web.xml学习笔记

    1.<context-param>标签 param-name 设定上下文的参数名称.必须是唯一名称 param-value 设定的参数名称的值 初始化过程: 在启动Web项目时,容器(比如 ...

  10. XML学习(一)————XML简介

    引言 作为数据传输界鼎鼎大名的扛把子,XML被应用于各个方面,但随着弱结构化标记语言如JSON.YAML等的出现,人们慢慢的脱离了XML的统治,但在互联网早期的发展当中XML是不可或缺的一部分,比如各 ...

最新文章

  1. cvpr 深度估计_无监督单目视频深度估计中的uncertainty方法(CVPR#x27;20)
  2. Android Pie提供了自适应供电、神经网络API 1.1等新特性
  3. mysql workbench中删除数据表记录提示出错的问题
  4. 前端每日实战:140# 视频演示如何用纯 CSS 创作文本的淡入动画效果
  5. docker的安装与安装mysql(mac,centos为例)
  6. oracle游标fetch_SQL游标@@ FETCH_STATUS函数概述
  7. vue获取input焦点事件_vue获取input焦点,弹框后自动获取input焦点
  8. 网络游戏外挂与反外挂的研究
  9. Excel工作表事件(1)
  10. linux隔离磁盘坏道,Repartion Bad Drive(硬盘坏道隔离工具
  11. Druid配置——Ingestion Spec(摄取规范)
  12. C语言:判断一个数是否为素数
  13. aix查看lv_(摘抄)AIX下减小lv size
  14. 怎么做抖音故障艺术风格人物照片效果
  15. Gerrit+Nginx
  16. 基于SSH架构的在线拍卖系统设计与开发
  17. Tensorflow object detection API 的环境配置
  18. WiFi碰碰贴开发方案
  19. 21级数据结构考前模拟题
  20. OpenGL Blend

热门文章

  1. Vivado下载bit文件正常不能在线抓取波形
  2. 惠普暗影精灵2 Mojave(几乎完美黑苹果)
  3. opengl 中的透视除法和NDC
  4. kjb文件 解析_十四期全国BIM一级考试真题及解析
  5. dirent struct_file属性读取 Struct dirent struct stat
  6. 2018年 数据挖掘“泰迪杯” C题 第二问
  7. Vue中使用Bscroll @click无法执行的问题
  8. 基于ATmega16单片机 程控滤波器程序源代码
  9. Android开发视频教程,最全面的,总共200多集
  10. Linux网络操作系统及应用教程(项目式)项目四