浅读XML技术

在我们的日常的WEB开发工作中,除了代码以外想必接触最多的就是XML文挡了,随着大量框架的不断的涌现,我们
工作的重点已由原来的对代码的开发逐步转向了对XML文档的配置和解读。那么究竟是什么是XML呢?它有那些语法的规则
呢?我们在日常工作使用中应该又该注意什么呢?本文将从一些日常的鲜为人知的方面介绍并解读XML技术的一些知识,
以便帮助大家能够更加深入的理解XML的用法。
     我们的实际开发工作中对配置文件的熟悉度相信已经很高了,在传统的配置文件格式应用上一般分为两种类型
一是properites格式的文件(比如在Hibernate等框架的早期版本中就应用了这种格式的文件作为框架的配置文件)
另外一种就是现在十分通用的XML实例文档。我们应用配置文件最大的好处是提高了程序的灵活性,把程序的一些
相关信息放置在配置文件可以避免硬编码带来的一系列不便,而XML技术的产生正是为了更好的适应这种需求。曾经
有人问我,XML到底是一门语言还是一种规范。笔者对于这个问题的理解是,XML是一种在特定的技术约束下产生的一种
文档语言。它的主要任务是为了完成程序之间的数据交换。简单的说,XML作为一种通用的数据交换格式出现的。
     在程序的开发过程中少不了程序之间数据交换,这种需求在电子商务占据主导信息化世界的今天变的尤其重要
所以必须对各个程序中间用于交换的数据文档做一个统一的规范。而XML首先就定义了这样的一套规范,它用严格的
语法限制使得各个平台上运行的程序对不同的XML文档进行有效的解读成为可能。所以我们把XML成为一种文档规范一点
也不过分,其次,XML标准的体现是由语言来完成的,因此我们也可以把XML看作是一门标记性的语言。
     XML是SGML的一个子集,正是在这样的前提下XML拥有级强的生命力和扩展性,使得它可以表达出世界上多种多样的
信息。而XML最重要的一个作用就是用于承载数据,以便数据的交换。
     对于标记语言也许大家最熟悉不过的就是HTML了,诚然HTML中确实承载了不少的数据,但是我们决不能认为HTML和XML
是一种功能相同的语言。首先HTML是一个定型的语言,它用固有的标记来显示,描述内容。而XML不能用来显示内容,它只是
描述数据的结构和内容,而且XML没有定型的标签,它的标签可以由开发者自由的扩展,并且允许标记名是非英文字符。其次,
HTML把数据的显示和承载混合在一起,而它本身的作用就是用于如何显示它所承载的数据。而XML把数据的显示和内容加以分离
在XML中只负载承载数据,并描述数据的结构,对于数据的显示XML本身并不控制,但可以我们可以通过CSS和XSL的其他语言对
XML的显示加以控制。再次,HTML语言的格式比较松散,各个HTML的解析器采用尽量解释的原则,所以这给我们的日常维护工作
带来不便,并且很有可能同一个HTML语言书写的文档在不同的浏览器下显示出不同的风格。而XML规定任何XML文档必须拥有开始
标记和结束标记这样严格的语法限制,使得我们的工作更加方便。并且XML还规定了各个标记元素的形式,比如大小写的区分问题。
最后XML语言允许粒度更新,这一点更是HTML所没有的特性。
      既然HTML和XML都是一种标记语言,并且它们都来源于SGML语言,那么他们或多或少的都有一些相似的地方。这种相似性
主要体现在树型结构上,也就是说XML和HTML都是DOM模型。XML规定每个XML文档必须有一个根节点,并且每一个元素之间都是有
联系的,虽然在HTML中我们可以不设置根节点,但我们同样可以把它看作是一个树型结构的体现。
     我们知道了XML的主要作用是用来承载数据的,那么我们日常中接触最多的数据库同样也是用来存储数据的,那么两者之间有
什么关系呢?这是一个很深的问题,其中涉及到数据库表与XML文档之间的转化工作,虽然现在有很多的人正在从事这方面的研究
但是它不属于本文的重点讲解问题,因此我们可以简单的把一个XML文档当作是数据库的一张表来看待即可。并且这种应用也比较
常见,笔者曾经开发过一个小型的留言版系统,在这个系统中没有用到任何数据库,只是把数据简单的存储在一个XML文档中罢了。 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值