Vue d’ensemble des espaces de noms (LINQ to XML)Namespaces overview (LINQ to XML)

Cet article présente les noms XML, les espaces de noms XML, les préfixes d’espaces de noms XMLet les XName XNamespace classes et.This article introduces XML names, XML namespaces, XML namespace prefixes, and the XName and XNamespace classes.

Les noms XML constituent souvent une source de complexité dans la programmation XML.XML names are often a source of complexity in XML programming. Un nom XML est constitué d'un espace de noms XML (également appelé URI d'espace de noms XML) et d'un nom local.An XML name consists of an XML namespace (also called an XML namespace URI) and a local name. Un espace de noms XML est similaire à un espace de noms dans un programme .NET.An XML namespace is similar to a namespace in a .NET program. Elle vous permet de qualifier de manière unique les noms d’éléments et d’attributs afin d’éviter les conflits de noms entre les différentes parties d’un document XML.It enables you to uniquely qualify the names of elements and attributes to avoid name conflicts between various parts of an XML document. Lorsque vous avez déclaré un espace de noms XML, vous pouvez sélectionner un nom local qui doit uniquement être unique au sein de cet espace de noms.When you've declared an XML namespace, you can select a local name that only has to be unique within that namespace.

Un autre aspect des noms XML est le préfixe d’espace de noms XML, qui provoque la plus grande partie de la complexité des noms XML.Another aspect of XML names is XML namespace prefixes, which cause most of the complexity of XML names. Ces préfixes vous permettent de créer un raccourci pour un espace de noms XML, ce qui rend le document XML plus concis et plus compréhensible.These prefixes enable you to create a shortcut for an XML namespace, which makes the XML document more concise and understandable. Toutefois, la signification d’un préfixe XML dépend du contexte, ce qui augmente la complexité.However, the meaning of an XML prefix depends on context, which adds complexity. Par exemple, le préfixe XML aw peut être associé à un espace de noms XML dans une partie d’une arborescence XML, et avec un espace de noms différent dans une autre partie.For example, the XML prefix aw could be associated with one XML namespace in part of an XML tree, and with a different namespace in another part.

L’un des avantages de l’utilisation de LINQ to XML avec C# est que vous n’avez pas besoin d’utiliser des préfixes XML.One of the advantages of using LINQ to XML with C# is that you don't have to use XML prefixes. Lorsque LINQ to XML charge ou analyse un document XML, chaque préfixe XML est résolu à son espace de noms XML correspondant.When LINQ to XML loads or parses an XML document, each XML prefix is resolved to its corresponding XML namespace. Après cela, lorsque vous travaillez avec un document qui utilise des espaces de noms, vous accédez presque toujours aux espaces de noms par le biais de l'URI d'espace de noms, et non par le biais du préfixe d'espace de noms.After that, when you work with a document that uses namespaces, you almost always access the namespaces through the namespace URI, and not through the namespace prefix. Lorsque les développeurs travaillent avec des noms XML dans LINQ to XML ils travaillent toujours avec un nom XML complet (autrement dit, un espace de noms XML et un nom local).When developers work with XML names in LINQ to XML they always work with a fully-qualified XML name (that is, an XML namespace and a local name). Toutefois, LINQ to XML vous permet de travailler avec les préfixes d’espaces de noms et de les contrôler si nécessaire.However, LINQ to XML does allow you to work with and control namespace prefixes as needed.

Lorsque vous utilisez LINQ to XML avec des littéraux Visual Basic et XML, vous devez utiliser des préfixes d’espaces de noms lors de l’utilisation de documents dans des espaces de noms.When using LINQ to XML with Visual Basic and XML literals, you must use namespace prefixes when working with documents in namespaces.

Dans LINQ to XML, la classe qui représente les noms XML est XName .In LINQ to XML, the class that represents XML names is XName. Les noms XML apparaissent fréquemment dans l’API LINQ to XML, et chaque fois qu’un nom XML est requis, vous trouverez un XName paramètre.XML names appear frequently throughout the LINQ to XML API, and wherever an XML name is required, you will find an XName parameter. Cependant, il est rare de travailler directement dans un objet XName.However, you rarely work directly with an XName. XName contient une conversion implicite de chaîne.XName contains an implicit conversion from string.

Pour plus d’informations, consultez XNamespace et XName.For more information, see XNamespace and XName.