学xml的困惑
时间:2004-07-11
来源:互联网
可最近用它来做网站时发现,数据过多的时候,用asp生成的xml数据量大得惊人。在传输到客户端的时候非常慢。如果数据量大,然而客户根本不需要浏览所有的数据,还有必要用到xml吗?用它不是很浪费网络资源??
另外一个问题就是xml的及时性问题。当发布广告,或者是论坛的帖子的时候,用xml存储数据也不好吧。
所以我对xml在用途方面也不是想其他的人吹的那么神。也没有必要什么都用它来完成。或许我没有接触到关于 xml处理这方面的技术,所以一知半解。在此发问,请勿笑话,并希望给一个很好的解释~~谢谢
作者: 单身 发布时间: 2004-07-11
你在服务器端可以随时更改 XML 文件,并保存 XMLDOM 提供的方法够简单了
作者: bencalie 发布时间: 2004-07-12
最近初学xml语言,以前听说过它的好处,能实现数据与格式的分离,能实现客户端分页,能用dtd创建语言。用数据岛方便网络的传输等等。
可最近用它来做网站时发现,数据过多的时候,用asp生成的xml数据量大得惊人。 ...
XML还有一个作用就是代替简单的数据库,并不是完全应用于web的,这个很有用,借助DOM,可以方便地代替简单文本或者数据库的读写
作者: 桃花岛主 发布时间: 2004-07-14
作者: 单身 发布时间: 2004-07-14
1。xml能代替html吗?
这个问题在各论坛上均可见,甚至不只一个人这么问。
能代替吗?如果让用户将xml文件直接在浏览器打开,场面是不容想像的,我们得用到xsl,将xml转换成html是能让用户接受的事情。一个复杂的主页,如www.sina.com.cn你要将其硬改成xml和xsl,我想不仅网页编辑叫苦,还没有显示出任何的优势;另外如下列代码常常在xsl中出现:<xsl:template match=”/para”><tr><td><xsl:apply-templates/></td></tr></xsl:template>,注意其中的<tr><td>那可是html标记。
好了,xml不能代替html,他的诞生也不是为了替代html
2.Xml在web中的应用到底有多大的范围?
我尝试了两次大规模的在项目中使用xml。
第一次的做法是:用dom替代了recordset,翻页、查询的速度是令人想像不到的快,因为数据都在dom里,也就是说缓存在本地,对其操作速度快也很正常,问题也出在这里,超过3000条数据,(网络环境10mb局域网),客户端等待的时间已经超出指标,所以此办法只能适用于数据库记录少的情况。同样是这次,我用xmlhttp来代替post,执行数据库的添加、删除、修改功能,由于是异步的,客户端还是一个字:快。由于是明码,为了保护我的数据库字段名和表名,我专门设计一个函数来加密和解密,真是晕死。
另外值得提出的一点是:因为有了dom,我才能用jscript实现了网页中编辑报表的功能(输入数据,实时计算如同excel,等等)
第二次的做法是:用dom来替代recordset,不过是单条记录的,比如网站上的新闻系统,通过dom直接生成xml文件保存在服务器物理硬盘上,再通过xsl来转换,这样的做法对用模版来生成静态html的方法是高级了一点,和用服务器端脚本来动态生成页面比较呢,访问速度快多了。同样是这次,由于web服务器和db服务器的安全性考虑,我希望能从db 向 www 单向提供数据,于是仔细阅读了mssql中的xml和internet支持,由于与我的目标不符合,所以我没有继续深入。今天看到关于这个的帖子,我又去看了一遍联机帮助,还是没有找到说服我在下一个网站上部署他的理由。
上面提到的两次开发中,服务器端脚本分别是asp、jsp,客户端脚本是jscript。当然两者用到的dom可就不是一个东西了,方法、属性大部分相同。
3.xml在数据库的应用
说到这里,就不得不说到oa,做过oa的人(非二次开发)对流程是最有体会的,程序里定义死,会产生大量的后期修改工作,当 国的做法就是换一个领导换一个工作流程,自定义流程里有用jscript做的,代码繁杂,不容易阿,更常见的是notes和exchange的工作流,这两个东西贵是出了名的,大中企业才上。Oracle9i推出的xml字段让我兴奋了几个月,因为在sql语句中可以用xpath查询阿!!!
用jscript做自定义流程的可能使用过xml,xml这种无拘无束的子节点就是非线性流程最佳体现嘛。流程作为一个xml被放入到记录中了,用sql语句很轻易查询出流程执行到哪一步,该谁做,做什么,现在做oa可真是不需要workflow了,用关系数据库就可以了。Oracle也不低廉,大家等其他关系数据库相继推出吧。
我用vb、ado、xml来实现了不同数据库记录的迁移,说起来很简单,ado的recordset对象的save方法就生成了xml,用stream对象和recordset对象结合,可以将xml保存到数据库中,中间唯一要做的就是不同数据库数据类型的转换,这个太简单了,用recordset的save方法生成xml的时候,数据类型就包含在表所在子节点的属性中,把不同数据库分别建一个表,表中再建包含所有字段类型的字段,很容易就得到db到ado不同数据类型的对应表,db1到db2的数据类型对应表也就不难取得了。
4.xml在其他方面的应用
我就不多说了,office2000的另存为html给我的感觉就是html内嵌xml,他给我们带来的就是在程序中生成word文档(带表格、表头)而不需要模版
还有就是通过不同的xsl-fo,我们可以把xml转换成pdf,flash等等。
作者: ahxiaxin 发布时间: 2004-07-15
不是每个编辑都能有hand coder的水准
所以这个成为主流还需时日
xml也不是传统意义上的数据库
但的确可以作为数据的载体
其最大的用途就是将来的无缝计算中的数据交换
作者: zdzhuo 发布时间: 2004-07-15
不说百万组海量数据库吧,就是10万组数据量的数据库,如果反复的提交数据库事务来查询,用asp+sqlserver的方式,在多线程操作下,肯定也不会快到哪。。。
也许xml有很多用途,但对于访问速度来说,能否有更好的办法,解决大数据量的xml数据,传输到客户端时速度慢这一瓶颈?
现在主流的查询报表技术,除了在服务器上操作,就是javascript缓存数据流,但是数据量过大也非常恼火,xml就能解决吗????
作者: nnb2000 发布时间: 2004-07-16
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28