Freigeben über


Übersicht über Namespaces (LINQ to XML)

In diesem Artikel werden XML-Namen, XML-Namespaces, XML-Namespacepräfixe und die XName klassen XNamespace vorgestellt.

XML-Namen sind häufig eine Quelle der Komplexität bei der XML-Programmierung. Ein XML-Name besteht aus einem XML-Namespace (auch als XML-Namespace-URI bezeichnet) und einem lokalen Namen. Ein XML-Namespace ähnelt einem Namespace in einem .NET-Programm. Sie können die Namen von Elementen und Attributen eindeutig qualifizieren, um Namenskonflikte zwischen verschiedenen Teilen eines XML-Dokuments zu vermeiden. Wenn Sie einen XML-Namespace deklariert haben, können Sie einen lokalen Namen auswählen, der nur innerhalb dieses Namespace eindeutig sein muss.

Ein weiterer Aspekt von XML-Namen ist XML-Namespacepräfixe, die den größten Teil der Komplexität von XML-Namen verursachen. Mit diesen Präfixen können Sie eine Verknüpfung für einen XML-Namespace erstellen, wodurch das XML-Dokument präziser und verständlicher wird. Die Bedeutung eines XML-Präfixes hängt jedoch vom Kontext ab, wodurch Komplexität hinzugefügt wird. Beispielsweise könnte das XML-Präfix aw einem XML-Namespace in einem Teil eines XML-Baums und einem anderen Namespace in einem anderen Teil zugeordnet werden.

Einer der Vorteile der Verwendung von LINQ to XML mit C# besteht darin, dass Sie keine XML-Präfixe verwenden müssen. Wenn LINQ to XML ein XML-Dokument lädt oder analysiert, wird jedes XML-Präfix in den entsprechenden XML-Namespace aufgelöst. Wenn Sie dann mit einem Dokument arbeiten, das Namespaces verwendet, greifen Sie fast immer über den Namespace-URI und nicht über das Namespacepräfix auf die Namespaces zu. Wenn Entwickler mit XML-Namen in LINQ to XML arbeiten, arbeiten sie immer mit einem vollqualifizierten XML-Namen (d. a. einem XML-Namespace und einem lokalen Namen). LINQ to XML ermöglicht es Ihnen jedoch, bei Bedarf namespacepräfixe zu verwenden und zu steuern.

Wenn Sie LINQ to XML mit Visual Basic und XML-Literalen einsetzen, müssen Sie bei der Arbeit mit Dokumenten in Namespaces Namespacepräfixe verwenden.

In LINQ to XML lautet XNamedie Klasse, die XML-Namen darstellt. XML-Namen werden häufig während der LINQ to XML-API angezeigt, und unabhängig davon, wo ein XML-Name erforderlich ist, finden Sie einen XName Parameter. Sie arbeiten jedoch selten direkt mit einem XName-Objekt. XName enthält eine implizite Konvertierung aus einer Zeichenfolge.

Weitere Informationen finden Sie unter XNamespace und XName.