• 您的位置我爱Aspx >> XML/XLST >> 在.NET Framework中轻松处理XML数据(一)
  • 在.NET Framework中轻松处理XML数据(一)

  • 作者:aspxer  来源:internet  日期:2007-5-6 11:38:47  关键字:.net,xml,数据
  • 在.NET Framework中,XmlTextReader和XmlTextWriter类提供了对xml数据的读和写操作。在本文中,作者讲述了XML阅读器(Reader)的体系结构及它们怎样与XMLDOM 和SAX 解释器结合。作者也演示了怎么样运用阅读器分析和验证XML文档,怎么样创建格式良好的XML文档,以及怎么样用函数读/写基于Base64和BinHex编码的大型的XML文档。最后,作者讲了怎么样实现一个基于流的读/写分析器,它把读写器都封装在一个单独的类里。

    大概三年前,我参加了一个软件研讨会,主题是“没有XML,就没有编程的未来”。XML确实也在一步一步的发展,它已经嵌入到. NET Framework中了。在本文中,我将讲解. NET Framework中用于处理XML文档的API的角色和它的内部特性,然后我将演示一些常用的功能。

    从MSXML到.net的XML

    在. NET Framework出现之前,你习惯使用MSXML服务----一个基于COM的类库---写windows的XML的驱动程序。不像. NET Framework中的类,MSXML类库的部分代码比API更深,它完全的嵌在操作系统的底层。MSXML的确能够与你的应用程序通信,但是它不能真正的与外部环境结合。

    MSXML类库能在win32中被导入,也能在CLR中运用,但它只能作为一个外部服务器组件使用。但是基于.NET Framework的应用程序能直接的用XML类与.NET Framework 的其它命名空间整合使用,并且写出来的代码易于阅读。

    作为一个独立的组件,MSXML分析器提供了一些高级的特性如异步分析。这个特性在.NET Framework中的XML类及.NET Framework的其它类都没有提供,但是,NET Framework中的XML类与其它的类整合可以很轻易的获得相同的功能,在这个基础上你可以增加更多的功能。

    .NET Framework中的XML类提供了基本的分析、查询、转换XML数据的功能。在.NET Framework中,你可以找到支持Xpath查询和XSLT转换的类,及读/写XML文档的类。另外,.NET Framework也包含了其它处理XML的类,例如对象的序列化(XmlSerializer和the SoapFormatter类),应用程序配置(AppSettingsReader类),数据存储(DataSet类)。在本文中,我只讨论实现基本XML I/O操作的类。

    XML分析模式

    既然XML是一种标记语言,就应该有一种工具按一定的语法来分析和理解存储在文档中信息。这个工具就是XML分析器---一个组件用于读标记文本并返回指定平台的对象。

    所有的XML分析器,不管它属于哪个操作平台,不外乎都分以下的两类:基于树或者基于事件的处理器。这两类通常都是用XMLDOM(the Microsoft XML Document Object Model)和SAX(Simple API for XML)来实现。XMLDOM分析器是一个普通的基于树的API---它把XML文档当成一个内存结构树呈现。SAX分析器是基于事件的API----它处理每个在XML数据流中的元素(它把XML数据放进流中再进行处理)。通常,DOM能被一个SAX流载入并执行,因此,这两类的处理不是相互排斥的。

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:给 XML 初学者
    下一篇:Web设计中如何使用XML数据