分享
 
 
 

XML经典问答

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

XML经典问答

一.HTML已经这样流行了,为什么还要发展XML?

简单地讲,HTML不能完成,我们希望XML所要完成的任务。原因很简单,XML所要完成的任务,必须由元置标语言来完成,而HTML只是一个实例置标语言。 在XML发布之前,国际互联网的发展受到HTML如下几个问题的束缚:

1) HTML无法描述数据内容,而这一点恰恰是数据检索、电子商务所必须的。

2) HTML对数据表现的描述能力是十分不够的,如HTML还不能描述矢量图形、科学符号等对象,目前只能通过图象来表现这些对象。

3) HTML实例置标语言的地位,完全不能适应对新标记需求的发展需要。

XML的出现,使上述问题都得到很好的解决。

试想在互联网世界,如果大家都讲方言,互相交换信息时都要进行翻译,那将是一个多么难以沟通和交流的世界。在互联网世界,XML之所以重要,恰恰是由于它扮演了"国际语言"角色的缘故。此外,XML更为互联网世界提供了定义各行各业的"专业术语"的工具。

二.如何在浏览器中阅读XML?

阅读XML文档的工具一般称为XML解析器, 也称为XML处理器。 XML处理器将数据传送到应用软件, 以便处理, 出版, 查询, 或显示。XML不给应用软件提供 应用程序接口 (API), 它只是把数据传给应用软件. XML处理器不解析非构造良好的数据。 Netscape 和 Microsoft 都已经将XML解析器包含在其浏览器中。 XML开发者团体提供免费的XML阅读器和解析器, 以便在应用软件或XML制作软件中进行应用。

三.为什么要使用XML而不是HTML?

比较重要的原因有以下六条:

1)作者和供应商能使用XML设计自己的文档类型,不必被HTML所约束。

2)由于XML的超文本链接能力比HTML强得多,XML提供的信息内容比HTML更丰富,也更易于使用。

3)XML能提供更多更好的机制方便浏览器的信息表现和优化性能。

4)XML舍弃了SGML的复杂性,因此编写处理XML的应用程序会很容易。

5)信息易于存储,可重复使用。

6)XML文件在SGML环境中也可使用,不一定要局限于在WEB中使用。

四.可以用Java创建和管理XML文件吗?

是的,任何程序设计语言都能被用来从XML形式的源文档中输出数据。已经出现了许多的前端和后台工具使得程序设计和数据管理更加方便。下面两个网址有更加详细的说明: http://www.markwatson.com/XMLdb_0_1.htm http://developerlife.com

五.为什么XML文件的分析结果出现乱码?

这是由编码问题引起的。XML标准规定,XML分析器必须支持“UTF-8”和“UTF-16”编码,而且必须能够自动区分这两种编码的文件,对于其他编码(包括常用的中文编码“GB2312”或“BIG5”)并不要求支持。如果XML文件中包含编码声明,分析器则按照声明的编码进行处理,否则就按照识别结果进行处理(识别的结果总是“UTF-8”和“UTF-16”中的一种)。因此,如果XML文件的编码在这两种之外,你必须在XML文件前加上编码声明,如:<?xml version="1.0" encoding="gb2312"?>就表示XML文件的编码是“gb2312”。

现有的XML分析器大多不支持中文编码“GB2312”或“BIG5”,因此无法读取包含中文的XML文件。你可以使用支持中文编码的分析器,如MSXML,IBMJAVA4C,IBMJAVA4J等进行XML分析。你也可以用内码转换工具,将编码转换为“UTF-8”或“UTF-16”后进行解析,然后将解析结果转换回原来的编码。本站的软件园地中的ccnv(Code Converter)就是这样的工具。当然,你也可以自己写一个内码转换程序。

关于“UTF-8”和“UTF-16”编码的详细信息,请查看本站标准荟萃中的UTF-16和UTF-8标准。

六.XML如何与数据库连接?

XML是一种文件格式,它没有规定与数据库的连接方法,你需要用传统的方法连接数据库,进行数据库查询,然后将查询结果转化为XML格式。现在有一些工具提供了XML与数据库的连接过程大都遵循这样的步骤。下面是一个利用ASP直接生成XML文件的例子,你可以访问http://www.xml.net.cn/Asps/test/roster1.asp查看执行效果。

<%@ language="VBScript" %>

<?xml version="1.0" encoding="gb2312"?>

<?xml:stylesheet type="text/xsl" href="..image oster.xsl"?>

<roster>

<%

set cConn = Server.CreateObject("ADODB.Connection")

call cConn.Open("DSN","USER", "PWD")

set rs = cConn.Execute("SELECT DISTINCT * FROM roster")

Do While Not rs.EOF %>

<Record>

<Name><%=trim(rs("name"))%></Name>

<NativePlace><%=trim(rs("NativePlace"))%></NativePlace>

<Age><%=trim(rs("Age"))%></Age>

<Telephone><%=trim(rs("Telephone"))%></Telephone>

</Record>

<% rs.MoveNext

Loop

rs.Close

set rs=nothing

set cConn=nothing

%>

</roster>

_____________________________________________________________

<来源 xml.net.cn />

<日期 2001/01/15/>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有