一、xml是什么格式

XML有以下几个优点:

• 数据是自说明的

• 数据可用标准工具加以处理

• 数据可用标准工具查看

• 用样式单可容易地生成同样数据的不同视图

XML格式的第一条主要好处是数据是自描述的每个数字的意义是清楚的,且不会错误地与数字本身相联系。当读取文档时,用户了解 2 中的2指的是击中数而不是得分或是防守。如果键入文档的打字员漏掉了一个数字,不会造成其后的数字都错了位。HITS就是HITS,即使它前面的RUNS元素丢失也没关系。

在本书第二部分中,读者会看到,XML还可以使用DTD来加强限制,使得某些元素,如HITS或RUNS必须存在。

第二条好处是XML提供的数据可用广泛的具有XML处理能力的工具加以处理,从相当贵的软件,如Adobe FrameMaker 到免费软件,如Python和Perl。数据量可以很大,但是数据额外的冗余就允许使用更多的工具来处理它。

当查看数据时,也同样有这样的问题。XML文档可装入Internet Explorer 5.0、Mozilla、FrameMaker 5.5.6和许多其他工具,所有这些工具都提供唯一的、有用的一种数据的视图。数据还可以装入简单的文本编辑器中,如vi、BBEdit和TextPad。这就使得数据或多或少的可在多种平台上查看。

使用新软件也不是获得数据的不同视图的唯一方法。在下一节中,我们将为棒球统计数据创建一个样式单,来提供一种与图4-1完全不同的查看数据的方法。每当对同一文档施加不同的样式单,都可以看到不同图景。

最后,要向自己发问,文件大小真是很成问题吗?当前硬盘容量已经相当大了,可以存入大量数据,即使存储得不太节省也没有太大的关系。同时,XML文件的压缩率很大。全部的两大棒球联赛1998年统计数据的文档是653K。如果用gzip 压缩一下的话,只有66K,几乎压缩了90%。先进的HTTP服务器,如Jigsaw可以发送压缩文件,而不必解压缩,因而文档所用的网络带宽与其实际信息内容已相当接近。最后,我们不能认为二进制文件格式(特别通用的格式)必定是高效的。包含1998statistics.xml文件同样数据的Microsoft Excel文件的大小达到了2.37MB,比XML格式大了三倍多。虽然我们能够创建更为有效的文件格式和编码方法,但实际上简单并不是必须的。

把数据转换成XML格式的好处

我们常常会碰到需要处理以各种格式(从以逗号或者制表符做分隔符的文件到更负载的格式)保存或者传输的数据的情况,对每一种格式你都需要对应的解析器(parser)。这一缺点减缓了开发进度,而且可能会导致错误的发生。一个解决方案就是把常用格式的数据转化成XML文档,然后对它进行保存、处理或者转换成其它格式。

一个实例

现在已经有好多种实现在软件内部或者软件之间进行数据保存、导出、导入以及传输功能的数据格式。最常见的是定界格式(delimited format),如逗号或者制表符分隔数据格式以及定长数据格式。假设我们有一个地址簿程序,该程序提供把数据导出成逗号分隔以及固定长度这两种格式的功能。

在逗号分隔格式中,用逗号来分隔同一个数据记录中的不同字段,如清单A所示。而在固定长度数据格式中,记录的每一个字段都应该有一个标准长度。清单B给出了一个固定长度格式的地址簿。

创建XML文档

现在,让我们解析输入数据并把它转换成XML文档。XML文档(即org.w3c.dom.Document)是全部文档对象模型(DOM)的原始数据类型,并且它提供了对文档数据的访问。

你可以用执行buildDocument(InputStream is)方法来创建与你的数据对应的文档,如代码清单C所示。该方法逐行读取输入数据流,并根据给定格进行来逐行分析。

如果你想解析分界格式数据,你需要创建构造函数为PlainTextToXmlFormatter(String[ ] colName,String delim)的类的实例,其分界符可以是任何字符串。在固定长度格式的情况下,你应该使用第二种构造函数PlainTextToXmlFormatter(String[ ] colName,int[ ] colLen),它的一个参数为字段长度数组。在我们所给的地址簿例子中,各字段的长度分别为10、10、30以及10个字符。参数colName是保存了目标数据记录的名字的数组,在我们给出的这个例子中,名字分别为名(firstName)、姓(lastName)、email以及电话号码(phone)。

把数据行转换为数据符号的实际解析过程也就是执行getStringArray(String read,String delim)或者parseFixedLengthMessage(String read,int[ ] colLen)方法的过程。其返回值是一个String型数组,这个数组是上述两个方法把给定输入进行分解而得来的。如果数据格式不对,就会抛出一个例外并且终止解析过错。调用setSkipError(true)方法就可以忽略例外并完成数据解析过程。调用这个方法可以防止抛出例外,但它仍允许程序向错误输出流打印错误信息。

当行被解析成标记后,它们作为XML文档的元素而加入到XML文档之中。放入到元素之中的每一行记录都有一个默认的名字line,你也可以调用setDataLineName()来指定名字。每一个数据记录都是一个列元素,列元素的名字由相应的类构造函数提供,子元素加到行元素之中。

在输入数据完全读取之后,你就得到了一个有效的XML文档,你可以进一步处理这个文档。现在,由于数据是按众所周知的树状结构来组织的,因此处理它非常简单。例如,你可以把这个文档送交给第三方,只要第三方知道该文档的文档类型定义(Document Type Definition ,DTD),那么他就可以很容易的处理文档了。你还可以调用writeDocument(Document doc,OutputStream osOut)方法来保存这个文档。代码清单D就给出一个把XML文档保存到一个文件中的例子。

用XSLT转换来查看数据

你还可以把XML数据转换成其它格式,并用不同的视图来表示其内容。最简单的方法就是使用XSLT转换,它提供了一种强大的面向树的转换语言实现,可以把使用一种词汇表的XML实例转换成简单文本、HTML或者使用其它词汇表的XML。

对给定的XML输入,你可以用XSLT语言来创建你所期望的输出。例如,通过执行transformData(InputStream xmlIn,InputStream xslIn,OutputStream transfOut),你就可以把XML数据转换成一个HTML文档。代码清单E提供了XSLT转换的一个例子,而清单F给出了地址簿条目的HTML视图。

简化对数据的管理

在本文中,我们通过分析PlainTextToXmlFormatter类而学会了如何把常用格式数据转换成XML文档。我们还看到了如何借助于XSLT转换而用不同的视图来表示XML文档。当你需要处理各种格式的数据时,采纳上述技术或许就就是一个好的解决方案,从而节省了你的宝贵时间并减少了出错的可能性。

二、xml格式是什么文件

1、xml文件是普通的文本文件用 记事本或者 vim或者 editplus,都可以打开 查看xml文件的源代码。一般就用记事本或者Dreamweaver打开并编辑他。

2、XML是Extensible Markup Language的简写,一种扩展性标识语言,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言

可扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。

三、xml是什么格式的文件

xml一般指可扩展标记语言。

可扩展标记语言,标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。

在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

标准体系

虽然XML标准本身简单,但与XML相关的标准却种类繁多,W3C制定的相关标准就有二十多个,采用XML制定的重要的电子商务标准就有十多个。这一方面说明XML确实是一种非常实用的结构化通用标记语言,并且已经得到广泛应用。

另一方面,这又为了解这些标准带来一定的困难,除了标准种类繁多外,标准之间通常还互相引用,特别是应用标准,它们的制定不仅仅使用的是XML标准本身,还常常用到了其他很多标准。XML标准的体系与SGML标准的体系非常相似,XML相关标准也可分为元语言标准、基础标准、应用标准三个层次。

四、xml是什么 xml格式简介

1、XML 指可扩展标记语言(EXtensible Markup Language)。XML 是一种很像HTML的标记语言。XML 的设计宗旨是传输数据,而不是显示数据。XML 标签没有被预定义。您需要自行定义标签。XML 被设计为具有自我描述性。XML 是 W3C 的推荐标准。

2、可扩展标记语言(XML)与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML的宗旨传输数据的,而与其同属标准通用标记语言的HTML主要用于显示数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同。

3、XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OS, Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。