miércoles, 14 de abril de 2010

Cambiar el Encoding de un XML en .NET

Hola a todos, hoy justo estaba trabajando en un proceso para poder importar un archivo xml y pasarlo como parametro a SQL me encontre con un problema relativamente sencillo y encontre que tambien la solucion era sencilla.

Originalmente lo hacia algo como:

Dim xmlOrdenes as New Xml.XmlDocument()

xmlOrdenes.Load("archivo.xml")

pero al ejecutar mi componente de datos para pasar este xml a la base de datos recibia el siguiente mensaje de error:

error de Enconding.

Como yo no puedo solicitar al cliente que cambie su encoding y a veces tampoco puedes solicitar el cambio a la capa de datos, entonces una de las manera es hacerlo es en tu aplicacion.


Dim enconding As Xml.XmlDeclaration = CType(xmlOrdenes.FirstChild(), Xml.XmlDeclaration)
enconding.Encoding = "UTF-16"

Aqui le indico que el primer nodo de mi xml que es ( xml version="1.0" encoding="utf-8")

Es el que tiene como pueden ver el Encoding = "utf-8" y con el codigo que les puse anteriormente queda asi:

xml version="1.0" encoding="UTF-16"


Con esto ya no tengo problemas de Encoding y puedo procesar tranquilamente mi archivo.


Saludos,


Julio.

No hay comentarios:

Publicar un comentario

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