XML-Dokumente und XML-DatenXML Documents and Data

.NET Framework bietet eine umfangreiche und integrierte Gruppe von Klassen, mit denen auf einfache Weise XML-fähige Apps erstellt werden können.The .NET Framework provides a comprehensive and integrated set of classes that enable you to build XML-aware apps easily. Die Klassen in den folgenden Namespaces unterstützen das Analysieren und Schreiben von XML, das Bearbeiten von XML-Daten im Arbeitsspeicher, die Datenvalidierung und die XSLT-Transformation.The classes in the following namespaces support parsing and writing XML, editing XML data in memory, data validation, and XSLT transformation.

Suchen Sie im .NET-API-Browser nach „System.Xml“, um eine vollständige Liste zu erhalten.For a full list, search for "System.Xml" on the .NET API browser.

Die Klassen in diesen Namespaces unterstützen die W3C-Empfehlungen (World Wide Web Consortium).The classes in these namespaces support World Wide Web Consortium (W3C) recommendations. Beispiel:For example:

Die XML-Klassen in .NET Framework bieten folgende Vorteile:The XML classes in the .NET Framework provide these benefits:

  • ProduktivitätProductivity. LINQ to XML (C#) und LINQ to XML (Visual Basic) erleichtern die Programmierung mit XML und zeichnen sich durch ein Abfrageverhalten aus, das SQL ähnelt.LINQ to XML (C#) and LINQ to XML (Visual Basic) makes it easier to program with XML and provides a query experience that is similar to SQL.

  • ErweiterbarkeitExtensibility. Die XML-Klassen in .NET Framework können mithilfe abstrakter Basisklassen und virtueller Methoden erweitert werden.The XML classes in the .NET Framework are extensible through the use of abstract base classes and virtual methods. So könnten Sie z. B. eine von der XmlUrlResolver-Klasse abgeleitete Klasse erstellen, durch die der Cachedatenstrom auf dem lokalen Datenträger gespeichert wird.For example, you can create a derived class of the XmlUrlResolver class that stores the cache stream to the local disk.

  • Architektur mit austauschbaren KomponentenPluggable architecture. In der Architektur von .NET Framework können Komponenten gegenseitig voneinander Gebrauch machen und Daten zwischen Komponenten gestreamt werden.The .NET Framework provides an architecture in which components can utilize one another, and data can be streamed between components. Beispielsweise kann ein Datenspeicher, z. B. ein XPathDocument-Objekt oder ein XmlDocument-Objekt, mit der XslCompiledTransform-Klasse transformiert werden. Anschließend kann die Ausgabe entweder in einen anderen Speicher gestreamt oder als Datenstrom von einem Webdienst zurückgegeben werden.For example, a data store, such as an XPathDocument or XmlDocument object, can be transformed with the XslCompiledTransform class, and the output can then be streamed either into another store or returned as a stream from a web service.

  • Leistung:Performance. Zur Verbesserung der App-Leistung unterstützen einige XML-Klassen in .NET Framework ein auf Streaming basierendes Modell mit folgenden Merkmalen:For better app performance, some of the XML classes in the .NET Framework support a streaming-based model with the following characteristics:

    • Minimale Zwischenspeicherung für die pullbasierte Vorwärtsanalyse (XmlReader)Minimal caching for forward-only, pull-model parsing (XmlReader).

    • Vorwärtsvalidierung (XmlReader)Forward-only validation (XmlReader).

    • Cursornavigation, die die Knotenerstellung auf einen einzelnen virtuellen Knoten reduziert und gleichzeitig den wahlfreien Zugriff auf das Dokument ermöglicht (XPathNavigator)Cursor style navigation that minimizes node creation to a single virtual node while providing random access to the document (XPathNavigator).

    Falls XSLT-Verarbeitung erforderlich ist, können Sie die Leistung mithilfe der XPathDocument-Klasse verbessern. Sie stellt einen optimierten, schreibgeschützten Speicher für XPath-Abfragen dar, der für die effiziente Zusammenarbeit mit der XslCompiledTransform-Klasse ausgelegt ist.For better performance whenever XSLT processing is required, you can use the XPathDocument class, which is an optimized, read-only store for XPath queries designed to work efficiently with the XslCompiledTransform class.

  • Integration in ADO.NETIntegration with ADO.NET. Die XML-Klassen und ADO.NET sind nahtlos integriert und schaffen die Verbindung zwischen relationalen Daten und XML.The XML classes and ADO.NET are tightly integrated to bring together relational data and XML. Die DataSet-Klasse ist ein speicherinterner Cache für Daten, die aus einer Datenbank abgerufen wurden.The DataSet class is an in-memory cache of data retrieved from a database. Die DataSet-Klasse ist in der Lage, mithilfe der XmlReader-Klasse und der XmlWriter-Klasse XML zu lesen und zu schreiben, die zugehörige interne relationale Schemastruktur als XML-Schemas (XSD) beizubehalten und die Schemastruktur eines XML-Dokuments abzuleiten.The DataSet class has the ability to read and write XML by using the XmlReader and XmlWriter classes, to persist its internal relational schema structure as XML schemas (XSD), and to infer the schema structure of an XML document.

In diesem AbschnittIn This Section

XML Processing Options (XML-Verarbeitungsoptionen)XML Processing Options
Erläutert die Optionen zum Verarbeiten von XML-Daten.Discusses options for processing XML data.

Processing XML Data In-Memory (Verarbeiten von XML-Daten im Arbeitsspeicher)Processing XML Data In-Memory
Erläutert die drei Modelle für die Verarbeitung von XML-Daten im Arbeitsspeicher: LINQ to XML (C#) und LINQ to XML (Visual Basic), die (auf dem W3C-Dokumentobjektmodell basierende) XmlDocument-Klasse und die (auf dem XPath-Datenmodell) basierende XPathDocument-Klasse.Discusses the three models for processing XML data in-memory: LINQ to XML (C#) and LINQ to XML (Visual Basic), the XmlDocument class (based on the W3C Document Object Model), and the XPathDocument class (based on the XPath data model).

XSLT Transformations (XSLT-Transformationen)XSLT Transformations
In diesem Abschnitt wird die Verwendung des XSLT-Prozessors beschrieben.Describes how to use the XSLT processor.

XML Schema Object Model (SOM) (XML-Schemaobjektmodell (SOM))XML Schema Object Model (SOM)
In diesem Abschnitt werden die Klassen beschrieben, mit denen XML-Schemas (XSD) erstellt und bearbeitet werden, indem eine XmlSchema-Klasse zum Laden und Bearbeiten eines Schemas bereitgestellt wird.Describes the classes used for building and manipulating XML Schemas (XSD) by providing an XmlSchema class to load and edit a schema.

XML Integration with Relational Data and ADO.NET (XML-Integration mit relationalen Daten und ADO.NET)XML Integration with Relational Data and ADO.NET
In diesem Abschnitt wird beschrieben, wie .NET Framework einen synchronen Echtzeitzugriff auf die relationale und die hierarchische Darstellung von Daten über das DataSet-Objekt und das XmlDataDocument-Objekt ermöglicht.Describes how the .NET Framework enables real-time, synchronous access to both the relational and hierarchical representations of data through the DataSet object and the XmlDataDocument object.

Managing Namespaces in an XML Document (Verwalten von Namespaces in einem XML-Dokument)Managing Namespaces in an XML Document
Beschreibt, wie die XmlNamespaceManager-Klasse zum Speichern und Verwalten von Namespaceinformationen verwendet wird.Describes how the XmlNamespaceManager class is used to store and maintain namespace information.

Type Support in the System.Xml Classes (Typenunterstützung in den System.Xml-Klassen)Type Support in the System.Xml Classes
Beschreibt die Zuordnung von XML-Datentypen zu CLR-Typen, die Konvertierung von XML-Datentypen und andere in den System.Xml-Klassen enthaltene Funktionen zur Unterstützung von Typen.Describes how XML data types map to CLR types, how to convert XML data types, and other type support features in the System.Xml classes.

ADO.NETADO.NET
Hier erhalten Sie Informationen über den Zugriff auf Daten mit ADO.NET.Provides information on how to access data using ADO.NET.

SicherheitSecurity
Dieser Abschnitt stellt eine Übersicht über das Sicherheitssystem von .NET Framework bereit.Provides an overview of the .NET Framework security system.