Partager via


Encodage et décodage des noms d'attributs et d'éléments XML et des valeurs ID

Les noms d'éléments et d'attributs ou les valeurs d'ID sont limités à une plage de caractères XML conformément à la recommandation sur le langage XML (Extensible Markup Language) 1.0 (quatrième édition) du World Wide Web Consortium (W3C) (en anglais).Si les noms contiennent des caractères non valides, des méthodes d'encodage et de décodage les convertissent en noms XML valides.

Un grand nombre de langages et d'applications, telles que Microsoft SQL Server et Microsoft Office Word, admettent les caractères Unicode dans leurs noms, alors que ceux-ci ne sont pas admis dans les noms XML.Par exemple, si Order Detail est un en-tête de colonne dans une base de données, celle-ci autorise la présence d'une espace entre les mots Order et Detail. Par contre, XML interdit l'emploi de cette espace entre les mots Order et Detail, qu'il considère comme un caractère XML non valide.En conséquence, l'espace (le caractère non valide) doit être converti dans un encodage hexadécimal placé dans une séquence d'échappement pouvant être décodé plus tard.

La classe XmlTextWriter n'effectue pas de vérification de caractères par défaut.Par exemple, le code WriteElementString("Order Detail", "My order"), produit un élément non valide de <Order Detail>My order</Order Detail>.

Pour coder la valeur d'élément, l'encodage correct est writer.WriteElementString(XmlConvert.EncodeName("Order Detail"), "My order") qui produit l'élément valide <Order_0x0020_Detail>My order</Order_0x0020_Detail>.

Voir aussi

Concepts

Conversion des types de données XML