??在.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流载进并履行,因此,这两类的处理不是相互排挤的。
??总的来说,SAX分析器与XMLDOM分析器正好相反,它们的分析模式存在着极大的差别。XMLDOM被很好的定义在它的functionalition聚集里面,你不能扩大它。当它在处理一个大型的文档时,它要占用很大内存空间来处理functionalition这个宏大的聚集。
??SAX分析器利用客户端利用程序通过现存的指定平台的对象的实例往处理分析事件。SAX分析器把持全部处理过程,把数据“推出”到处理程序,该处理程序依次接收或拒尽处理数据。这种模式的长处是只需很少的内存空间。
??.NET Framework完整支撑XMLDOM模式,但它不支撑SAX模式。为什么呢?由于.NET Framework支撑两种不同的分析模式:XMLDOM分析器和XML浏览器。它显然不支撑SAX分析器,但这并不意味它没有供给类似SAX分析器的功效。通过XML浏览器SAX的所有的功效都能很轻易的实现及更有效的应用。不像SAX分析器,.NET Framework的浏览器全部都运作在客户端利用程序下面。这样,利用程序本身就可以只把真正需要的数据“推出”,然后从XML数据流中跳出来。而SAX分析模式要处理所有的对利用程序有用和无用的信息。
??浏览器是基于.NET Framework流模式工作的,它的工作方法类似于数据库的游标。有趣的是,实现类似游标分析模式的类供给对.NET Framework中的XMLDOM分析器的底层支撑。XmlReader、XmlWriter两个抽象类是所有.NET Framework中XML类的基础类,包含XMLDOM类、ADO.NET驱动类及配置类。所以在.NET Framework中你有两种可选的方法往处理XML数据。用XmlReader和XmlWriter类直接处理XML数据,或者用XMLDOM模式处理。更多的关于在.NET Framework中读文档的先容可以参见MSDN 2002 年八月刊的Cutting Edge栏目文章。
以上就是在.NET Framework中轻松处理XML数据(1-1) 的内容,更多相关内容请关注PHP中文网(www.php.cn)!

.NETFramework4是开发人员和最终用户在Windows上运行最新版本的应用程序所必需的。但是,在下载安装.NETFramework4时,许多用户抱怨安装程序在中途停止,显示以下错误消息-“ .NETFramework4hasnotbeeninstalledbecauseDownloadfailedwitherrorcode0x800c0006 ”。在您的设备上安装.NETFramework4时,如果您也在体验它,那么您就来对了地方

每当您的Windows11或Windows10PC出现升级或更新问题时,您通常会看到一个错误代码,指示故障背后的实际原因。但是,有时,升级或更新失败可能不会显示错误代码,这时就会出现混淆。有了方便的错误代码,您就可以确切地知道问题出在哪里,因此您可以尝试修复。但是由于没有出现错误代码,因此识别问题并解决它变得极具挑战性。这会占用您大量时间来简单地找出错误背后的原因。在这种情况下,您可以尝试使用Microsoft提供的名为SetupDiag的专用工具,该工具可帮助您轻松识别错误背后的真
![SCNotification 已停止工作 [修复它的 5 个步骤]](https://img.php.cn/upload/article/000/887/227/168433050522031.png)
作为Windows用户,您很可能会在每次启动计算机时遇到SCNotification已停止工作错误。SCNotification.exe是一个微软系统通知文件,由于权限错误和点网故障等原因,每次启动PC时都会崩溃。此错误也以其问题事件名称而闻名。因此,您可能不会将其视为SCNotification已停止工作,而是将其视为错误clr20r3。在本文中,我们将探讨您需要采取的所有步骤来修复SCNotification已停止工作,以免它再次困扰您。什么是SCNotification.e

Python实现XML数据的过滤和筛选XML(eXtensibleMarkupLanguage)是一种用于存储和传输数据的标记语言,它具有灵活性和可扩展性,常被用于在不同系统之间进行数据交换。在处理XML数据时,我们经常需要对其进行过滤和筛选,以提取出我们所需的信息。本文将介绍如何使用Python来实现XML数据的过滤和筛选。导入所需模块在开始之前,我们

当今人工智能(AI)技术的发展如火如荼,它们在各个领域都展现出了巨大的潜力和影响力。今天大姚给大家分享4个.NET开源的AI模型LLM相关的项目框架,希望能为大家提供一些参考。https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel是一种开源的软件开发工具包(SDK),旨在将大型语言模型(LLM)如OpenAI、Azure

已安装Microsoft.NET版本4.5.2、4.6或4.6.1的MicrosoftWindows用户如果希望Microsoft将来通过产品更新支持该框架,则必须安装较新版本的Microsoft框架。据微软称,这三个框架都将在2022年4月26日停止支持。支持日期结束后,产品将不会收到“安全修复或技术支持”。大多数家庭设备通过Windows更新保持最新。这些设备已经安装了较新版本的框架,例如.NETFramework4.8。未自动更新的设备可能

自我们谈论影响安装KB5012643forWindows11的用户的新安全模式错误以来已经过去了一周。这个讨厌的问题并没有出现在微软在发布当天发布的已知问题列表中,因此让所有人都感到意外。好吧,就在您认为情况不会变得更糟的时候,微软为安装此累积更新的用户投下了另一颗炸弹。Windows11Build22000.652导致更多问题因此,这家科技公司警告Windows11用户,他们在启动和使用某些.NETFramework3.5应用程序时可能会遇到问题。听起来很熟悉?不过请不要惊


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

禅工作室 13.0.1
功能强大的PHP集成开发环境

Atom编辑器mac版下载
最流行的的开源编辑器

SublimeText3汉化版
中文版,非常好用