Codifica e decodifica dei nomi di elementi e attributi XML e dei valori identificatore
I nomi di elementi e attributi o i valori ID sono limitati a un intervallo di caratteri XML in base alla raccomandazione Extensible Markup Language (XML) 1.0 (fourth edition) del World Wide Web Consortium (W3C).Quando i nomi contengono caratteri non validi, i metodi di codifica e decodifica li convertono in nomi XML validi.
In molti linguaggi e applicazioni, ad esempio Microsoft SQL Server e Microsoft Office Word, nei nomi è consentito l'utilizzo di caratteri Unicode che non sono validi nei nomi XML.Se ad esempio Dettagli ordine fosse l'intestazione di una colonna all'interno di un database, quest'ultimo consentirebbe di inserire uno spazio tra Dettagli e ordine, mentre, in XML, lo spazio tra le due parole è considerato un carattere XML non valido.Per questo motivo è necessario convertire lo spazio, ovvero il carattere non valido, in una codifica esadecimale escape che potrà essere decodificata in un secondo momento.
Per impostazione predefinita, i controlli sui caratteri non vengono eseguiti dalla classe XmlTextWriter.Ad esempio, nel codice WriteElementString("Order Detail", "My order"), viene prodotto un elemento non valido di <Order Detail>My order</Order Detail>.
Per codificare il valore dell'elemento, la codifica corretta è la seguente: writer.WriteElementString(XmlConvert.EncodeName("Order Detail"), "My order") con la quale viene prodotto l'elemento valido <Order_0x0020_Detail>My order</Order_0x0020_Detail>.