recherche
Maisondéveloppement back-endTutoriel C#.Net在.NET Framework中轻松处理XML数据(1-1)

在.NET Framework中轻松处理XML数据(1-1)

Dec 20, 2016 pm 02:01 PM
.netframeworkxml数据

??在.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)! 


Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
C # En tant que langue .NET: la base de l'écosystèmeC # En tant que langue .NET: la base de l'écosystèmeMay 02, 2025 am 12:01 AM

C # est un langage de programmation publié par Microsoft en 2000, visant à combiner la puissance de C et la simplicité de Java. 1.C # est un langage de programmation orienté objet type qui prend en charge l'encapsulation, l'héritage et le polymorphisme. 2. Le processus de compilation de C # convertit le code en un langage intermédiaire (IL), puis le compile en exécution de code machine dans l'environnement d'exécution .NET (CLR). 3. L'utilisation de base de C # comprend des déclarations variables, des flux de contrôle et des définitions de fonctions, tandis que les usages avancés couvrent la programmation asynchrone, LINQ et les délégués, etc. 4. Les erreurs courantes incluent les exceptions de mésappariement de type et de référence nulle, qui peuvent être déboguées via le débogueur, la gestion et le journalisation des exceptions. 5. Les suggestions d'optimisation des performances incluent l'utilisation de LINQ, de programmation asynchrone et d'amélioration de la lisibilité du code.

C # vs .net: clarifier les principales différences et similitudesC # vs .net: clarifier les principales différences et similitudesMay 01, 2025 am 12:12 AM

C # est un langage de programmation, tandis que .NET est un cadre logiciel. 1.C # est développé par Microsoft et convient au développement multiplateforme. 2..net fournit des bibliothèques de classe et des environnements d'exécution, et prend en charge multilingue. Les deux travaillent ensemble pour créer des applications modernes.

Au-delà du battage médiatique: évaluer le rôle actuel de C # .NETAu-delà du battage médiatique: évaluer le rôle actuel de C # .NETApr 30, 2025 am 12:06 AM

C # .NET est une puissante plate-forme de développement qui combine les avantages du langage C # et du framework .net. 1) Il est largement utilisé dans les applications d'entreprise, le développement Web, le développement de jeux et le développement des applications mobiles. 2) Le code C # est compilé dans un langage intermédiaire et est exécuté par l'environnement d'exécution .NET, prenant en charge la collecte des ordures, les requêtes de sécurité de type et Linq. 3) Les exemples d'utilisation comprennent la sortie de la console de base et les requêtes LINQ avancées. 4) Les erreurs courantes telles que les références vides et les erreurs de conversion de type peuvent être résolues via les débogueurs et la journalisation. 5) Les suggestions d'optimisation des performances comprennent la programmation asynchrone et l'optimisation des requêtes LINQ. 6) Malgré la concurrence, C # .NET conserve sa position importante grâce à l'innovation continue.

L'avenir de C # .NET: Tendances et opportunitésL'avenir de C # .NET: Tendances et opportunitésApr 29, 2025 am 12:02 AM

Les tendances futures de C # .NET sont principalement axées sur trois aspects: le cloud computing, les microservices, l'intégration de l'IA et de l'apprentissage automatique et le développement de la plate-forme multiples. 1) Cloud Computing and Microservices: C # .NET optimise les performances de l'environnement cloud via la plate-forme Azure et prend en charge la construction d'une architecture de microservice efficace. 2) Intégration de l'IA et de l'apprentissage automatique: à l'aide de la bibliothèque ML.NET, les développeurs C # peuvent intégrer des modèles d'apprentissage automatique dans leurs applications pour promouvoir le développement d'applications intelligentes. 3) Développement multiplateforme: via .NETCORE et .NET5, les applications C # peuvent s'exécuter sur Windows, Linux et MacOS, élargissant la portée de déploiement.

C # .NET Development aujourd'hui: tendances et meilleures pratiquesC # .NET Development aujourd'hui: tendances et meilleures pratiquesApr 28, 2025 am 12:25 AM

Les derniers développements et meilleures pratiques en matière de développement C # .NET incluent: 1. La programmation asynchrone améliore la réactivité de l'application et simplifie le code non bloquant en utilisant des mots clés asynchronisés et attend; 2. Linq fournit des fonctions de requête puissantes, manipulant efficacement les données par l'exécution retardée et les arbres d'expression; 3.

C # .NET: création d'applications avec l'écosystème .NETC # .NET: création d'applications avec l'écosystème .NETApr 27, 2025 am 12:12 AM

Comment créer des applications en utilisant .NET? La création d'applications à l'aide de .NET peut être réalisée via les étapes suivantes: 1) Comprendre les bases de .NET, y compris le langage C # et le support de développement multiplateforme; 2) Apprenez des concepts de base tels que les composants et les principes de travail de l'écosystème .NET; 3) Master Utilisation de base et avancée, des applications de console simples aux opérations de webapis et de base de données complexes; 4) familiariser avec les erreurs courantes et les techniques de débogage, telles que les problèmes de configuration et de connexion de la base de données; 5) L'optimisation des performances de l'application et les meilleures pratiques, telles que la programmation et la mise en cache asynchrones.

C # En tant que langue .Net polyvalente: applications et exemplesC # En tant que langue .Net polyvalente: applications et exemplesApr 26, 2025 am 12:26 AM

C # est largement utilisé dans les applications au niveau de l'entreprise, le développement de jeux, les applications mobiles et le développement Web. 1) Dans les applications au niveau de l'entreprise, C # est souvent utilisé pour ASP.Netcore pour développer une webapi. 2) Dans le développement du jeu, C # est combiné avec le moteur Unity pour réaliser le contrôle des rôles et d'autres fonctions. 3) C # prend en charge le polymorphisme et la programmation asynchrone pour améliorer la flexibilité du code et les performances de l'application.

C # .NET pour le développement Web, le bureau et mobileC # .NET pour le développement Web, le bureau et mobileApr 25, 2025 am 12:01 AM

C # et .NET conviennent au développement Web, de bureau et mobile. 1) Dans le développement Web, ASP.Netcore prend en charge le développement multiplateforme. 2) Le développement de bureau utilise WPF et WinForms, qui conviennent à différents besoins. 3) Le développement mobile réalise les applications multiplateformes via Xamarin.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

VSCode Windows 64 bits Télécharger

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel

SublimeText3 Linux nouvelle version

SublimeText3 Linux nouvelle version

Dernière version de SublimeText3 Linux