jueves, 15 de abril de 2010

There is no Unicode byte order mark. Cannot switch to Unicode.

Hola a todos, hoy estaba tratando de leer un xml el cual tiene utf-16 y esperando que todo salga de maravilla me encontré con el mensaje de error "There is no Unicode byte order mark. Cannot switch to Unicode."

Entonces buscando en internet me encontre que eso parece ser un problema la clase XMLDocument.

Bueno si ustedes son como yo, me centre en como resolverlo y basicamente es muy sencillo.

Primero leen su xml hacia un string (Este problema se da basicamente cuando tratan de leer el xml desde un archivo en disco, no les deberia dar problemas con un xml en memoria.)

Dim xml As String = IO.File.ReadAllText(FileName)

Una vez el xml esta en esa variable, utilizan la propiedad LoadXml del XmlDocument y solucionado el problema.

Asi:

XmlDocument.LoadXml(xml) <---------- el xml entre los parentesis es el nombre de la variable de la declaracion Dim xml as String.

Espero les sea de gran ayuda.

Saludos,

Julio

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.