XML-documenten en -gegevens

De .NET Framework biedt een uitgebreide en geïntegreerde set klassen waarmee u eenvoudig XML-compatibele apps kunt bouwen. De klassen in de volgende naamruimten ondersteunen het parseren en schrijven van XML, het bewerken van XML-gegevens in het geheugen, gegevensvalidatie en XSLT-transformatie.

Zoek naar 'System.Xml' in de .NET API-browser voor een volledige lijst.

De klassen in deze naamruimten ondersteunen W3C-aanbevelingen (World Wide Web Consortium). Bijvoorbeeld:

De XML-klassen in de .NET Framework bieden de volgende voordelen:

  • Productiviteit.LINQ to XML (C#) en LINQ to XML (Visual Basic) maakt het gemakkelijker om te programmeren met XML en biedt een query-ervaring die vergelijkbaar is met SQL.

  • Uitbreidbaarheid. De XML-klassen in de .NET Framework zijn uitbreidbaar door het gebruik van abstracte basisklassen en virtuele methoden. U kunt bijvoorbeeld een afgeleide klasse van de XmlUrlResolver klasse maken waarin de cachestroom wordt opgeslagen op de lokale schijf.

  • Pluggable-architectuur. De .NET Framework biedt een architectuur waarin onderdelen elkaar kunnen gebruiken en gegevens kunnen worden gestreamd tussen onderdelen. Een gegevensarchief, zoals een XPathDocument of XmlDocument object, kan bijvoorbeeld worden getransformeerd met de XslCompiledTransform klasse en de uitvoer kan vervolgens worden gestreamd naar een ander archief of worden geretourneerd als een stream vanuit een webservice.

  • Prestaties. Voor betere app-prestaties ondersteunen sommige XML-klassen in de .NET Framework een model op basis van streaming met de volgende kenmerken:

    • Minimale caching voor forward-only, pull-model parsing (XmlReader).

    • Validatie voor alleen-doorsturen (XmlReader).

    • Cursorstijlnavigatie waarmee het maken van knooppunten tot één virtueel knooppunt wordt geminimaliseerd terwijl u willekeurige toegang tot het document (XPathNavigator) verleent.

    Voor betere prestaties wanneer XSLT-verwerking is vereist, kunt u de XPathDocument klasse gebruiken. Dit is een geoptimaliseerd, alleen-lezenarchief voor XPath-query's die zijn ontworpen om efficiënt met de XslCompiledTransform klasse te werken.

  • Integratie met ADO.NET. De XML-klassen en ADO.NET zijn nauw geïntegreerd om relationele gegevens en XML samen te brengen. De DataSet klasse is een in-memory cache van gegevens die zijn opgehaald uit een database. De DataSet klasse heeft de mogelijkheid om XML te lezen en te schrijven met behulp van de XmlReader en XmlWriter klassen, om de interne relationele schemastructuur als XML-schema's (XSD) te behouden en de schemastructuur van een XML-document af te leiden.

In deze sectie

Opties voor XML-verwerking Hier worden opties besproken voor het verwerken van XML-gegevens.

XML-gegevens in het geheugen verwerken Hierin worden de drie modellen besproken voor het verwerken van XML-gegevens in het geheugen: LINQ to XML (C#) en LINQ to XML (Visual Basic), de XmlDocument klasse (op basis van het W3C-documentobjectmodel) en de XPathDocument klasse (gebaseerd op het XPath-gegevensmodel).

XSLT-transformaties
Beschrijft hoe u de XSLT-processor gebruikt.

XML Schema Object Model (SOM)
Beschrijft de klassen die worden gebruikt voor het bouwen en bewerken van XML-schema's (XSD) door een XmlSchema klasse op te geven voor het laden en bewerken van een schema.

XML-integratie met relationele gegevens en ADO.NET
Hierin wordt beschreven hoe de .NET Framework realtime, synchrone toegang biedt tot zowel de relationele als hiërarchische weergaven van gegevens via het DataSet object en het XmlDataDocument object.

Naamruimten beheren in een XML-document
Beschrijft hoe de klasse wordt gebruikt voor het XmlNamespaceManager opslaan en onderhouden van naamruimtegegevens.

Typ ondersteuning in de System.Xml klassen
Hierin wordt beschreven hoe XML-gegevenstypen worden toegewezen aan CLR-typen, hoe u XML-gegevenstypen converteert en andere typen ondersteuningsfuncties in de System.Xml klassen.

ADO.NET
Biedt informatie over het openen van gegevens met behulp van ADO.NET.

Beveiliging
Biedt een overzicht van het .NET Framework beveiligingssysteem.