Allgemeine Informationen zu Namespaces (LINQ to XML)

Aktualisiert: November 2007

Dieses Thema enthält eine Einführung in die Namespaces, die XName-Klasse und die XNamespace-Klasse.

XML-Namen

XML-Namen sind häufig die Ursache für komplexe Konstruktionen 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 ist einem Namespace in einem .NET Framework-basierten Programm ähnlich. Er ermöglicht die eindeutige Qualifizierung von Element- und Attributnamen. Auf diese Weise lassen sich Namenskonflikte zwischen verschiedenen Teilen eines XML-Dokuments besser vermeiden. Wenn Sie einen XML-Namespace deklariert haben, können Sie einen lokalen Namen auswählen, der nur innerhalb dieses Namespaces eindeutig sein muss.

Ein anderer Aspekt von XML-Namen sind die XML-Namespacepräfixe. XML-Präfixe sind die Hauptursache für die Komplexität von XML-Namen. Diese Präfixe ermöglichen es Ihnen, eine Kurzform eines XML-Namespace zu erstellen, wodurch das XML-Dokument kompakter und verständlicher wird. Die Bedeutung der XML-Präfixe ist jedoch kontextabhängig, was zur erhöhten Komplexität beiträgt. Das XML-Präfix aw könnte z. B. in unterschiedlichen Teilen einer XML-Struktur unterschiedlichen XML-Namespaces zugeordnet sein.

Einer der Vorteile der Verwendung von LINQ to XML mit C# ist, dass keine XML-Präfixe verwendet werden müssen. Wenn LINQ to XML ein XML-Dokument lädt oder analysiert, wird jedes XML-Präfix in seinen zugehörigen XML-Namespace aufgelöst. Wenn Sie anschließend 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 in LINQ to XML mit XML-Namen arbeiten, verwenden Sie immer einen vollqualifizierten XML-Namen (d. h., einen XML-Namespace und einen lokalen Namen). Bei Bedarf ist es in LINQ to XML aber auch möglich, mit Namespacepräfixen zu arbeiten und diese zu steuern.

Bei Verwendung von LINQ to XML mit Visual Basic und XML-Literalen müssen Sie Namespacepräfixe verwenden, wenn Sie mit Dokumenten in Namespaces arbeiten.

In LINQ to XML werden die XML-Namen in der XName-Klasse dargestellt. XML-Namen treten in der gesamten LINQ to XML-API häufig auf, und immer dann, wenn ein XML-Name erforderlich ist, treffen Sie auf einen XName-Parameter. Sie werden aber nur selten direkt mit einem XName arbeiten. XName enthält eine implizite Umwandlung aus einer Zeichenfolge.

Weitere Informationen dazu finden Sie unter XNamespace und XName.

Siehe auch

Weitere Ressourcen

Arbeiten mit XML-Namespaces