Partager via


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

Mise à jour : November 2007

Les noms d'éléments et d'attributs ou les valeurs ID sont limités à un ensemble de caractères XML conformément à la recommandation du World Wide Web Consortium (W3C) sur le langage XML (Extensible Markup Language) 1.0 (deuxième édition), accessible à l'adresse www.w3.org/TR/2000/REC-xml-20001006.html. Si les noms contiennent des caractères non valides, des méthodes de codage et de décodage sont utilisées pour les convertir 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 convertie en un code hexadécimal d'échappement pouvant être décodée 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, le codage 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