欢迎来到天天文库
浏览记录
ID:14401652
大小:398.50 KB
页数:40页
时间:2018-07-28
《net framework 中的 xml 设计目标》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、使用.NETFramework中的XML(DOM)[日期:2007-08-01]来源: 作者:[字体:大中小].NETFramework中的XML类提供全面、集成的类集,使您得以使用XML文档和数据。.NETFramework中的XML类可以分为几组:用XmlReader和XmlWriter分析和编写XML,用XmlValidatingReader验证XML,和用XmlDocument编辑XML文档。XslTransform、XmlSchema和XPathNavigator类支持执行XSL转换(XSL
2、T)、编辑XML架构定义语言(XSD)架构和应用XPath查询。.NETFramework中的XML设计目标.NETFramework中的XML目标是:·符合W3C标准。·扩展性。·可插接式结构。·性能。·与ADO.NET紧密集成。符合标准符合标准意味着类完全符合XML、命名空间、XSLT、XPath、架构和文档对象模型(DOM)的当前W3C建议标准。符合标准确保了互操作性并使跨平台应用程序开发变得容易。最显著的一点是,.NETFramework中的XML类支持W3CXML架构定义语言(XSD)1.0
3、建议。.NETFramework中有一些XML类提供验证,还有一个对象模型可用于在内存中生成XSD架构。可针对架构、DTD、XDR和XSD进行验证的快速只进分析器称为XmlValidatingReader。XmlValidatingReader是符合标准的XML分析器。XmlSchemaCollection类可用于在使用XmlValidatingReader时缓存常用的XSD或XDR架构。.NETFramework中有一个XML类集提供架构对象模型(SOM),使用该模型可以以编程方式生成和编译XSD架
4、构。XmlSchema类表示XSD架构。使用XmlReader和XmlWriter类可以加载和保持这些架构。XMLDocument类实现文档对象模型级别1和级别2建议,它是根据.NETFramework的通用设计指南定制的。例如,方法名称使用大写字母。XslTransform类符合用于使用XSLT转换文档的XSL转换(XSLT)1.0版建议和XML路径语言(XPath)1.0建议。扩展性.NETFramework中的XML通过使用抽象基类和虚方法而变得可扩展。这种扩展性(或子类创建)由XmlReade
5、r、XmlWriter和XPathNavigator抽象类阐释,这些抽象类是使得能够在不同的存储区或数据源上开发新实现的类和公开XML的类。例如,XPathNavigator是集成了XPath查询引擎的API,该引擎可在现有存储区(如文件系统、注册表和关系数据库)上实现。它不仅将数据显示为XML,还使用XPathAPI查询方法(如Select)的默认实现,提供对不同数据源的XPath查询支持。扩展性的另一个示例是XMLReader,它提供一个用于对存储区进行快速只进分析的API,公开在它移动通过流时所
6、发现的XMLInfoset。.NETFramework中的XML具有以下XmlReader实现:用于读取流的XmlTextReader类、用于读取节点树的XmlNodeReader类和用于在XmlTextReader上分层验证支持的XmlValidatingReader。XMLWriter使用基于推送的API生成XML流。.NETFramework中的XML具有一个称为XmlTextWriter的XmlWriter实现。可以进一步从这些类的实现派生,创建可以实现特定处理的其他读取器。例如,通过从XML
7、TextReader派生,创建一个称为MyXmlTextReader的自定义读取器,可以创建具有特定于应用程序处理需求的逻辑的读取器版本。XMLResolver抽象类提供XML文档中引用的外部资源的挂钩。这使您可以用特定于应用程序(如数据库)的方式来缓存资源,或通过从该类派生来解析具有不同协议的资源。XmlResolver的两个实现XmlUrlResolver和XmlSecureResolver将解析使用http://、https://和file://协议的资源。可插接式结构.NETFramework
8、中的XML具有可插接式结构。在此基于流的结构中,可插接式意味着可以很容易替代.NETFramework中基于这些抽象类的组件。可插接式结构还意味着数据可以在组件之间以流的形式传送,以及插入到此流中的新组件可以改变处理。例如,来自XMLWebservices的流可用XmlTextReader分析。可以使用XmlTextReader创建XmlDocument,然后可以使用XmlDocument创建XmlNodeReader。另一个示例是从XMLReader加
此文档下载收益归作者所有