1、XML是什么东东?
答:XML也是一种标记语言,跟HTML一样其前身都是SGML,但是XML比HTML有更强大的自我描述和
数据处理和存储功能。
2、XML和SGML和HTML之间倒底是什么关系?
答:我用集合来说明一下可能大家会明白的更快一点:
__________________
| |
| SGML |
| ___________ |
| |xml | |HTML| |
| ----------- |
__________________
大家看到了没有XML HTML 都是SGML的子集,但是大家要注意了XML和HTML有一部
分是重合的,为什么会这样呢,因为有一部分HTML也可以说是XML,反之也是这样
我举一个例子说明一下:<html><body><b>how are you</b></body></htmL>这句话,你可说它是HTML也可以说它是XML,这不关紧要。
3、XML和SGML和HTML有什么区别?
答:所有的XML都可以说是SGML,SGML比XML有更强大的功能,但比XML更难理解.SGML已经被广泛的应用于各种科学领域了,XML就是为了使这种功能强大的语言有更进一步的应用而推出的简化版(当然XML比SGML有更多的规则)例如:SGML可以和HTML一样不一定要使用结束标记(当然SGML要特别的申明,而HTML则不需要,常见的<input type="text" name="text1">在SGML和HTML里面都可能是正确的,但在XML里面是绝对不正确的,XML要这样标注才是正确的:<input type="text" name="text1"></input> 或者<input type="text" name="text1" />也就是说XML必需要有结束标记。HTML最大的缺点就是没有自我描述的功能,也没有
数据处理功能,后面还有问题会进一步说明他们之间的区别,这里不写太多了。
4、请问HTML有什么不能标记为什么非要用XML不可?
答:确实是这样HTML什么都可以标记,但它标记有点让人不明不白。我就这样比如一下HTML:HTML就像一只只会说“你好”的鹦鹉,只要有人进来他就会说:“你好”不管这个人是男是女,是坏人还是好人,他都会这样说:而XML呢则是一只有辩别人的鹦鹉,GG进来他会说:“GG你好” MM进来他会说“MM你好",我想这一点已经足够说明你要去购卖这只鹦鹉了,而不是要去购买前面那只只会说“你好”的笨鸟了。
5、那请问XML用什么功能实现上面那只鸟的功能的?
答:这很简单因为XML可以随你自已的喜欢定议标签,我现在这样来描述你好这句话:<GG>你好</GG><MM>你好</MM>这一看大家就明白了前面那个你好是对GG说的,而后面那个你好是对MM说的,而HTML呢他只会这样描述<B>你好</B>更好看点就是<font color="red">你好</font>但这什么也没说明,HTML只说明了一点,你好要用红色字体显示,至于是对男还是对女就不得而知了。
6、我现在知道HTML的缺点了,那XML会淘汰HTML吗?
答:绝对不会:HTML本身是一种强大的语言,如果XML的推出是为了淘汰HTML的话,那开发XML的人绝对是一群笨蛋:)XML需要HTML,也希望与HTML长期共存。
7、请问XML如何显示,我能做到和HTML一样漂亮激动人心的网页吗?
答:当然能XML依赖XSL来显示他的
数据和页面,就像HTML可以用CSS来显示
页面一样,XML也支持CSS显示但这不是最好的解决方案,XSL才是最好的解决方案,但这个方案好像现在还没有正式确定,所以微软没有再对IE中的XSL升级。
8、请问学习XML需要那方面的知识?
答:学习XML要用到javascript,如果要处理XML
数据还得会最少一门脚本语言,如ASP,perl,java,
等都可以,最好的好像是perl,而java处理XML是最容易的,有人这样说XML的出现又把JAVA推上了一个新的应用平台。
9、我经常听到一些DTD之类的东东请问这是什么?
答:DTD就是文档哦类型定义,DTD可以定义XML的格式。
10、是否XML一定需要DTD?
答:不一定,XML可以不使用DTD而独立存在,XML更像一个文本型
数据库,他使你在处理
数据的同时不用当心,我要如何显示他。
11、有DTD和没有DTD的XML有什么区别吗?
答:当然有,我说一例子:
<我的档案>
<我的生日>
<日期>2000-12-12</日期>
<年龄>18</年龄>
</我的生日>
</我的档案>
我们用这段格式来存储
数据是不会报错的,如果我们设置了DTD也许这段文本是不合我们的要求的,因为我们还要要求日期必须还得有一个星期几的属性,而这段文本没有,显然是不正确的XML文档,正确的应该是:
<我的档案>
<我的生日>
<日期 星期=“星期五">2000-12-12</日期>
<年龄>18</年龄>
</我的生日>
</我的档案>
总结一下:有DTD的XML是没有DTD文档的XML的子集。
12、说了这么多我想问一下DTD和XML和XSL倒底是什么关系?
答:DTD和XML和XSL是相互各自独立的,互不相关,但却又是互相联系的。就像三权分立一样。而不是HTML的那种标签与内容和CSS混为一处,无法分立的情况。设计XML文档你可以独立的专注的开发各个部分,而不需注意到我在开发XML
数据时我要在浏览器里怎么样来显示它。而开发XSL时我们又可以专注的开发XSL,而不用关心
数据是什么,这也使得XML
数据可以显示成任何格式,如手机中的PDA等等。也就是说只要你开发完了XML
数据那么我就可以不需任何改动的移植到其它平台显示,而HTML显然是办不到的。因为HTML无法把文字从标签中分开出来。
13、请问就像你上面说的XML
数据是独立的那我又怎么样才能访问倒他的文本呢?
答:这个也比较简单也是最重要的,我们可以用DOM也就是文档对像模型来访问我们想要的文本
数据而不是那些讨厌的标签。到这里我不得不解释一下DOM了,DOM也就是文档对像模型,是W3C组织开发一些访问文档树的接口函数。DOM把XML和HTML按照树状结构来访问各个结点。我想对于学过
数据结构的人来说,应该很容易理解这种树状结构是什么。例如上面的那个例子:
我的档案
|
我的生日
| |
日期 年龄
这就是典型的树状结构,我们为了访问到日期值我们必须一层一层的来读取,先读我档案然后我的生日下面的日期的文本内容。这样我就很容易的得到了2000-12-12这个文本值.而XML还提供了,如父、子、兄弟结点等概念,(这关系到具体细节问题这到这里只讲XML思想所以不关心细节,以后我会写的,最好是你去看书).日期的下一下兄弟结弟显然就是年龄,这样我们读了日期后就可以马上得到年龄了,不再用一层层的来访问了。关于DOM的具体细节,这里不可能一下子说完,因这是最重要的一概念也是一个难理解的概念。(可以说学会DOM的人看到HTML像一棵树,而不会的人看到的就是标签:):))
14、IE5显示XML
数据的方式有那几种?
答:基本上是三种,一是直接显示XML 二是通过XSL来显示XML 三是通过HTML的
数据岛技术来显示XML
数据。
15、
数据库是否可以直接导出成XML文件?
答:可以,最简单的就是写一段脚本,根据
数据库的字段来决定XML标签,这大概不花一小时就可以写出来了。
SQLSERVER好像直接支技导出XML的文件的技术。
16、苛子你说了这么多了我对HTML和XML还是没分清楚?
答:那好我再讲一遍得了(先喝水),如果说HTML是一棵树,那么XML就是整个森林,基实这样形容还不是很准确,XML更应该是这样一个规则--就是怎样建造一棵树的规则,HTML只是XML的一应用程序,XHTML也是一个XML的应用程序,如果XML是一个类,那么HTML和XHTML就是一个实例,XML的实例不仅仅是这两个实例,已经有很多的实例了只是我们还不熟悉而以,更或者是有的公司不想公布这些技术。
17、你讲这么多了我有点想学XML了,那我应该怎样开始学习呢?
答:答学习XML你要学习的最少以下这几个方面。
一是:理解XML本身是一种标记语言,你会HTML的话这点不成问题。
二是:XSL样式语句,如果不想让XML变成一堆纯粹的
数据的话就应该学习它
三是:DTD如果你想创建值得信任的XML
数据的话,那么你应该学会它。
四是:如果你不想停滞在写XML标签,而不关心动态的显示和修改XML的话,那么 你就不用学javascript了。
五是:如果你想写大型的XML应用程序的话那么你最少应该会一种脚本语言如:ASP,prel.....。或者 会java,java是最好的处理XML语言(但是java需要编译)。