2011-12-13 16 views
9

¿Hay alguna forma de manejar caracteres unicode como \ u0016 en XML? Según mi entender, cargar dichos caracteres en XMLDocument arroja un error de carácter hexadecimal no válido. Intenté con otros caracteres Unicode. Parecen trabajar bien. Solo los caracteres de control causan este error. ¿Podemos eliminar estos caracteres sin analizar realmente el XML?Caracteres Unicode como u0016 en XML

+1

¿Por qué se necesita para utilizar U + 0016 en XML? Es un carácter heredado usado para control de transmisión, no un carácter de texto. –

Respuesta

2

No puede usar caracteres de control directamente en XML. Si necesita almacenar datos binarios en un archivo XML, puede Base 64 codificarlo. De esa manera se puede almacenar imágenes, ...

+0

O si realmente querían codificar U + 0016 en lugar de ese octeto, entonces algo como '' para indicar la misma semántica. –

18

caracteres se denotan usando la notación utilizada en el estándar Unicode, es decir, un opcional + T seguido de su número hexadecimal, utilizando al menos 4 dígitos, como U+1234 o U+10FFFD. En XML o HTML esto podría expresarse como ሴ o 􏿽.

de Unicode Technical Report.

caracteres válidos en XML:

Char :: = # x9 | #xA | #xD | [# x20- # xD7FF] | [# xE000- # xFFFD] | [# # X10000- x10FFFF]

de Extensible Markup Language (XML) 1.0 (Fifth Edition)

+4

La quinta edición de la versión 1. Bahahahaha! Lo siento, se divirtió fácilmente. –