在.NET里更好的创建XML文档

ZDNet软件频道 时间:2002-11-15 作者:BUILDER.COM |  我要评论()
本文关键词:
创建XML文档不是一件特别困难的事,但是却是很让人乏味的,尤其是在你必须总是创建类型相似的文档的时候。使用代码来处理这些重复性的任务是行得通的。

创建XML文档不是一件特别困难的事,但是却是很让人乏味的,尤其是在你必须总是创建类型相似的文档的时候。使用代码来处理这些重复性的任务是行得通的。但是利用机器自动编程来创建XML文档到底有多难或者有多容易?这取决于你所使用的方法。

编写标示语言是令人乏味的任务

对于这个问题过于简单化的回答是:创建XML文档和创建文本文档是一样简单的。毕竟,XML文档只是一个文本文档。但是一个更加现实的回答是:编写标示语言可能会是令人头疼的,因为你不得不顾及引号的丢失、标签和注意大小写敏感。换句话说,你不得不去承担编写标记语言的负担。

而且,XML文档从本质上说是分等级的,这意味着你要逐层深入地来编写——进行基于堆栈的操作。在编写的时候,你要打开标签,编辑属性,增加子层,但是需要不断跟踪所打开的最里层元素。根据XML的句法,你必须为遵照不重叠规则而首先关掉最里层元素。

以DOM的方式编写XML

XML文档对象模型(XML DOM)允许你用合成法创建XML文档。你使用一组制造方法(CreateElement、CreateComment、CreateProcessingInstruction以及其他)来创建节点对象的实例,然后把它们相关联起来,构成一个树形结构。但是,这些方法是在内存里创建文档的。那么你如何保持一个新文档呢?

直到W3C XML DOM第二层为止,官方的API还没有提供对I/O的支持。一对Load和Save方法将会成为官方标准XML DOM第三层所推荐的方法的一部分,当前第三层的制定正在其最后阶段。缺乏对I/O的支持倒不一定代表着它用于真实世界里的应用程序时会有问题,但是要记住:你现在对类似XML DOM的结构所使用的任何Save方法都是对W3C DOM专有的扩展。微软的XML核心服务库(MSXML)从第一版开始就对文档的持久性提供了支持。

XML DOM关键性的优势是提供了一个抽象层,使你这个可怜程序员能够免于对付结构严谨的XML的各种限制。其主旨是由你定义结构,而由框架来负责内容到XML文档翻译的细节。XML DOM方法的不足之处是其内存占用的问题,它会随着文档内容的增加而变大。在保存到存储介质上以前,文档是完全保留在内存里的。正如你可以猜到的,如果你正在处理大型文档,从性能的角度来看,这不是一个最佳的方法。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134