三年前就已经开始学习和了解XML了,可到如今对这个XML也没有一个清醒的认识。以前听同事说,XML是一种可以定义其它语言的语言。所以也就一直那样认为了。而在实际的使用中,又会有什么必要自己去定义一种语言呢?

XML可以取代小的桌面数据库。这是最近的认识,它的强大功能在于数据关系的平台及语言无关性,它的标准可以让XML文件在任何支持XML的程序中使用。然而,又听到这样的问题:XML的效率太低了。而对于今天这样速度如此之快的PC机而言,可以在0.几秒钟之内就加载数十K甚至数百K的XML文件时,这似乎不是一个问题了。

然而同事的项目在PDA上却无法运作了,因为数K的文件在PDA上加载要花上几分钟。而且还是在C++下的。分析问题的主要原因就是对XML文件的DOM对象的全文加载,使得内存不够而无法完成任务。就算是XML文件本身不大,而分析它的结构,操作它的数据元素,这都是一件很头疼的事。于是大家又讨论到 .net下来处理XML文件,因为大家觉得在.net下对XML的支持可能会好一些。

我前几天才认真的看了一下关于XML的书,这几天也在网上找到了一些文章,但大多数的文章就是简单的XML结构。一个例子,看了数百次的例子,无非就是一个Person的实例,用什么Name,age等来定义一个数据结构。然而我也实在是无法明白它在我们的项目里会起一个什么样的角色。如果说因为XML文件的数据结构统一性,可让我的同事的项目使用我的XML文件,而XML文件的数据结构还是我们自己定义的一个私有结构。那这几乎没有什么意义的,因为我完全可以不用什么XML,而用其它任何的文件结构,只在我告诉这个结构,让同事来分析并处理它就行了。正如很早以前我们用的一个文本数据库文件一样。

我不甘心XML就是这样的一个结局,于是花了一些时间在XML的学习上。试图找到一种XML与我们所开发的项目之间的关系。而这里正是我所找到的一点可以让自己高兴一下的信息:http://www.microsoft.com/china/MSDN/library/data/xml/dnsqlpro04L.mspx

这里一篇讲解XML架构的文章,它说明了XML到底是一个什么结构,为什么它可以取代桌面数据,为什么它可以在不同的开发环境里共同使用。我觉得正真让我理解到它的本质的,还是这样的一张图:

图 2. OO 与 XML 概念

这正是我所想要的,而这样结构,就使得一方面我们以前所做的工作都是有效的,而且可以在以前的基础上,增加XML功能。

这里的架构类型,就是XML Schema,这一内容我和同事都讨论过,然而他们好像并不大喜欢XML Schema,我不知道为什么,然而如果在不知道XML Schema的时候,想用好XML真的是很困难的,这也就是为什么很多人在最开始使用XML的时候都会遇到我前面所提到的一些问题一样:不是觉得没有必要,就是觉得效率不高,或者觉得.net下的架构太复杂不想用。然而看到上面这张图以后,还会这样想吗?我在看到XML的这种结构时,真的太兴奋了。

相信读者可以在这个页面上找到和我一样想要的东西。
http://www.microsoft.com/china/MSDN/library/data/xml/dnsqlpro04L.mspx

转载于:https://www.cnblogs.com/WuCountry/archive/2006/03/02/340971.html

了解 XML 架构(XML与OO)相关推荐

  1. 创建带有关联的 XML 架构的 XML 文件 从 XML 文件创建 XML 架构

    一.创建带有关联的XML 架构的XML 文件 1.创建新的 Windows 应用程序项目 首先需要在 Visual Basic 或 Visual C# 中创建新的 Windows 应用程序.创建一个新 ...

  2. AOP的XML架构、AOP的@AspectJ

    AOP的XML架构 aop的xml架构例子:https://www.w3cschool.cn/wkspring/omps1mm6.html aop的@AspectJ例子:https://www.w3c ...

  3. XML 架构示例(微软文档)

    https://msdn.microsoft.com/zh-cn/library/ms256129(v=vs.80).aspx 本主题包含万维网联合会 (W3C) 订单示例.第一个示例是订单的架构.第 ...

  4. XSL 转换:XSLT 可缓和 XML 架构的不相容性问题[网淘]

    XSL 转换:XSLT 可缓和 XML 架构的不相容性问题 发布日期: 4/14/2004| 更新日期: 4/14/2004 Don Box,Aaron Skonnard,John Lam 本文假设您 ...

  5. XML 架构参考 (XSD)

    XML 架构定义语言 (XSD) 使您可为 XML 文档定义结构和数据类型.XML 架构定义的元素.属性和数据类型符合"World Wide Web Consortium (W3C) XML ...

  6. MyEclipse Web开发教程:XML XML架构(一)

    MyEclipse 在线订购年终抄底促销!火爆开抢>> MyEclipse最新版下载 1.MyEclipse中的XML编辑 本文档介绍了MyEclipse XML Editor中可用的一些 ...

  7. 理解 XML Schema:XML Schema 初步 (I)

    理解 XML Schema:XML Schema 初步 (I) 内容: 购买订单模式文档 复合类型定义,元素和属性声明 出现约束 全局元素和属性 命名冲突 简单类型 列表类型(List Type) 联 ...

  8. XML 解析XML文档 XML约束

    XML 什么是XML Extensible Markup Language(可扩展的标记语言) 他是一个语言,有自己的语法,和Java以及其他的编程无关 "标记" 在文件中包含类似 ...

  9. perl XML创建XML文件

    首先安装XML::Writer,XML::Parser等模块 1.执行/usr/bin/perl -MCPAN -e 'install "YAML"' 安装YAML模块 2.进入C ...

最新文章

  1. 俄罗斯、乌克兰程序员薪资大曝光!年薪普遍 15w+,女程序员比男程序员收入高?...
  2. python爬取多页_Python 爬虫 2 爬取多页网页
  3. IDEA插件推荐:中文字符自动转化!
  4. 翻译:MariaDB DATABASE()
  5. Cassandra 数据分区
  6. linux 环境变量_如何管理你的 Linux 环境变量 | Linux 中国
  7. 为何去银行存款的人越来越少,但是银行的存款却在增加?
  8. 什么是工业光纤收发器,工业收发器的作用是什么?
  9. 分布式事务实践 解决数据一致性 分布式系统
  10. 第一行代码 Android (郭霖 著)
  11. 浅谈linux中的grub
  12. repo 的几个使用理解
  13. 根据需求增加或删除表格行
  14. 【实习】【算法】百度面经之四
  15. 如何设置Idea字体颜色
  16. Microsoft Visual Studio 2013产品激活密钥
  17. mpeg 音频格式科普
  18. 计算机网络实验一 验证性实验
  19. Travel around the UK
  20. win10怎么把锁屏界面变成壁纸

热门文章

  1. 计网期末复习 - CRC循环冗余校验计算
  2. return 、break 和 continue的区别
  3. 不联网redhat5.5安装oracle11g,redhat5.5_64位上安装oracle11gR2_步骤+问题解决
  4. 大学生计算机基础清考试卷,天大《计算机网络基础》4月毕业清考作业考核试题模板.doc...
  5. python_魔法方法(二):算术运算
  6. uva 232 Crossword Answers
  7. DM8168 TILER(2)
  8. HttpUtility.UrlEncode 方法 (String) 对 URL 字符串进行编码 NET Framework 4.6 and 4.5
  9. iOS开发总结(A0)- Localization
  10. 从C语言开始的语言革命