No unicode representación XML
Pregunta
He xml en el que algunos de los valores de los elementos son caracteres unicode.Es posible representar esto en una codificación ANSI?
E. g.
<?xml version="1.0" encoding="utf-8"?>
<xml>
<value>受</value>
</xml>
a
<?xml version="1.0" encoding="Windows-1252"?>
<xml>
<value>殘</value>
</xml>
Yo deserializar el XML y, a continuación, intente serializar el uso de XmlTextWriter la especificación de la codificación Predeterminada (por Defecto es Windows-1252).Todos los caracteres unicode terminan como signos de interrogación.Estoy usando VS 2008, C# 3.5
Solución
Bueno lo he probado con el siguiente código:
string xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><xml><value>受</value></xml>";
XmlWriterSettings settings = new XmlWriterSettings { Encoding = Encoding.Default };
MemoryStream ms = new MemoryStream();
using (XmlWriter writer = XmlTextWriter.Create(ms, settings))
XElement.Parse(xml).WriteTo(writer);
string value = Encoding.Default.GetString(ms.ToArray());
Y correctamente escapó el carácter unicode así:
<?xml version="1.0" encoding="Windows-1252"?><xml><value>受</value></xml>
Debo estar haciendo algo mal en alguna otra parte.Gracias por la ayuda.
Otros consejos
Si entiendo la pregunta, entonces sí.Sólo se necesita una ;
después de la 27544
:
<?xml version="1.0" encoding="Windows-1252"?>
<xml>
<value>殘</value>
</xml>
O usted se está preguntando cómo generar este XML mediante programación?Si es así, ¿en qué idioma/medio ambiente está trabajando en?