XML经典问答(xml语法结构)居然可以这样

随心笔谈9个月前更新 admin
192 00
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

文章摘要

这篇文章主要介绍了XML的背景、作用及其在互联网中的重要性。以下是文章的核心内容总结: 1. **XML的出现背景** XML(扩展标记语言) emerged to address the limitations of HTML, such as poor data description capabilities, inability to handle complex data structures, and lack of universal data exchange standards. Prior to XML, the internet was limited by HTML's constraints, which hindered data retrieval, e-Commerce, and content sharing. 2. **XML的用途** XML serves as a universal language for data exchange, enabling seamless communication across different platforms and applications. It provides a robust structure for data storage and retrieval, supports hyperlinks, and allows for easier integration with databases. XML files can be used in conjunction with databases for efficient data management. 3. **如何解析XML文件** XML files are typically parsed using XML processors or parsers, which convert the data into a format that can be used by applications. Popular tools include built-in parsers in browsers like Netscape and Microsoft, as well as dedicated software and libraries like MSXML and IBMJAVA4C. 4. **XML与HTML的对比** XML offers several advantages over HTML, including better data description capabilities, support for complex data structures, improved interoperability, and enhanced data storage flexibility. These features make XML ideal for professional and high-value applications. 5. **使用XML的益处** - **数据自由化**:作者和开发者可以自由定义文档类型,不受HTML的限制。 - **丰富的超文本功能**:XML的超文本链接技术比HTML更为强大。 - **优化性能**:XML提供了更好的机制来优化浏览器的显示效果。 - **简化开发流程**:XML的结构化特性使得数据库集成和数据管理更加容易。 - **信息存储与复用**:XML支持数据的重复使用和存储,便于管理。 - **跨平台兼容性**:XML文件可以在Web和其他领域中使用,不受限制。 6. **处理XML乱码问题** XML解析器需要支持UTF-8和UTF-16编码。中文编码GB2312和BIG5通常不被主流解析器支持,因此在解析包含中文的XML文件时可能需要额外的编码转换工具或解析器。 7. **XML与数据库的连接** XML文件通常不会直接与数据库连接。通常需要先进行数据库查询,再将结果转换为XML格式。使用技术如ADO.NET或特定的工具包可以实现这一点。 总之,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文件的编码是“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” %> 

<% 

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 %> 

<%=trim(rs(“name”))%> 

<%=trim(rs(“NativePlace”))%> 

<%=trim(rs(“Age”))%> 

<%=trim(rs(“Telephone”))%> 

<% rs.MoveNext 

Loop 

rs.Close 

set rs=nothing 

set cConn=nothing 

%> 

</roster> 

© 版权声明

相关文章