虽然看了不少介绍XML的书,但在使用delphi的过程的确没有发现使用XML的优势,请有这方面经验的朋友解答一下我的疑惑。
1.xml作软件或数据库配置文件,一般的使用INI绝对能够解决,而且速度很快,除非碰到那种超大型的软件,才可能使用XML更有优势,所以我的理解是,XML做配置文件并不比INI有优势。
2.xml做轻量数据库,XML虽然有做数据库的功能,但就实际效率来说,远远不能与传统关系型数据库的效率相比,而且似乎使用XML做数据库的地方,都可以用关系数据库代替。
3.XML做界面与数据分离,还需要配合XSL来制作,就实际使用来看,效果并不明显。
4.XML做为各组件的数据交换,大部分这种应用,可能存在于中间件,就我使用delphi的经验来说,制作中间件的时候并不多,似乎这个功能在与delphi的配合上并不能发挥
就我现在发现的优势就仅仅在于,多语言支持的配置文件。所以,小弟我不明白XML在与delphi的配合应用中,还有哪方面是较有优势的,请各位赐教,谢谢
1.xml作软件或数据库配置文件,一般的使用INI绝对能够解决,而且速度很快,除非碰到那种超大型的软件,才可能使用XML更有优势,所以我的理解是,XML做配置文件并不比INI有优势。
2.xml做轻量数据库,XML虽然有做数据库的功能,但就实际效率来说,远远不能与传统关系型数据库的效率相比,而且似乎使用XML做数据库的地方,都可以用关系数据库代替。
3.XML做界面与数据分离,还需要配合XSL来制作,就实际使用来看,效果并不明显。
4.XML做为各组件的数据交换,大部分这种应用,可能存在于中间件,就我使用delphi的经验来说,制作中间件的时候并不多,似乎这个功能在与delphi的配合上并不能发挥
就我现在发现的优势就仅仅在于,多语言支持的配置文件。所以,小弟我不明白XML在与delphi的配合应用中,还有哪方面是较有优势的,请各位赐教,谢谢
单从这方面来讲,XML 就比INI好
[code=INIFile]
[Main]
Users=UserList
Files=FileList
...[UserList]
User0=User0
User1=User1[User0]
Name=张三
Age=90
...
[/code]
这样一个配置文件,本来想要描述的是一个Main入口(UserList的命名可能会有所不同,所以不方便直接读取UserList,而需要从入口读取),读取到Users,再根据Users的取值,得到用户的列表,但是由于用户还有相关性的描述性信息,所以还得增加一专项用于描述用户的信息,如此一来,结构就相当复杂,甚至可以说压根儿就没有结构性可言。而一些描述性的信息,我们也只能通过注解代码进行描述,而注解代码是不被解释的,这样就不利用应用程序去处理。
下面来看XML:<?xml Version="1.0" encoding="utf-8">
<Main Description="配置内容入口">
<Users Description="用户信息" Activate="UserList" re="Activate为当前活动的用户列表">
<UserList Description="用户列表">
<User0 Name="张三" Age="90" ... \>
<User1 Name=... \>
....
</UserList>
<UserList0 Description="临时用户列表">
...
</UserList0>
...
</Users>
</Main>
如此的结构,更加具有层次性直观性,特别是对于配置文件这东西,在很多的时候除非的特别的配置工具,都可能要手工进行或多或少的修改,上例当中的Users,不需要另外做太多的注解,用户就可以从re当中明白可以通过Activate的选择而改变活动用户列表。另外就是在文件交换过程当中,这个XML文件被读入内存之后再写出来,所有的描述信息都不会丢失,但是INI就没有任何有效的机制来进行保障。
标准才是王道
2)你都说了轻量了,干嘛还非要和关系数据库去做比较。另外xml文件可以很好的和sqlserver交互3)可以展示xml不只有xslt,最简单的,比如xml数据导,直接可以绑定到html元素中去
4)你没有听说过webservice吗?
INI一般只是用于保存一些比较简单的数据,比如在一些软件配置方面
而XML除了配置外,其存储数据也比INI好的多。
1.对于嵌套的配置来说,XML在数据结构和组织上很有优势。
2.XML做为一种标准化,前景相当看好,以后可以方便于交换数据和统一平台,就像HTML一样。还有一点,webservice我听过,但实际工作中并没有用过,所谓的服务调用方式和现在采用的接口调用方式并没有太大的区别,这个似乎是为可以很方面的统一各平台的相互功能调用。这是我的一家言,请问是否正确,我特别想知道各位在自己的写程序过程的,都将XML用到哪些方面了?另为感谢大家的发言,再追加100分
程序菜单的资源文件
smartclient与web交互的数据格式
webservcie
地图服务器发布的wfs图层数据服务
一家广告公司为我们提供的web数据接口。
ADO.net
对象持久化
sqlserver数据仓库的架构和查询结果..xml无所不在
现在的公司也将一些例如excel,PDF等文件转化成xml导入数据库。