Foros del Web » Programación para mayores de 30 ;) » .NET »

Como reemplazar caracteres especiales en XML

Estas en el tema de Como reemplazar caracteres especiales en XML en el foro de .NET en Foros del Web. Que tal, tengo un problema con la lectura de un xml por que vienen caracteres especiales dentro de los valores y por mas que intente ...
  #1 (permalink)  
Antiguo 16/07/2014, 09:43
 
Fecha de Ingreso: noviembre-2009
Mensajes: 17
Antigüedad: 14 años, 5 meses
Puntos: 0
Como reemplazar caracteres especiales en XML

Que tal, tengo un problema con la lectura de un xml por que vienen caracteres especiales dentro de los valores y por mas que intente no logro tener una forma para reemplazar ese caracter "<" ya que ese caracter hace que la estructura del xml de problema y no me deje leerlo.

Esta es la parte del XML con el problema, tomando en cuenta que todo el xml viene en una sola linea
Código:
<NOM>GULLEN,BARRIOS,,FLOR,DE MARIA</NOM><CA>LOTE 11 MZ<42 CANTON CENT</CA><NC>L11</NC>
Saludos.
  #2 (permalink)  
Antiguo 25/07/2014, 12:49
Avatar de Namiwis  
Fecha de Ingreso: mayo-2013
Ubicación: Crustaceo Cascarudo
Mensajes: 162
Antigüedad: 10 años, 11 meses
Puntos: 10
Respuesta: Como reemplazar caracteres especiales en XML

Hola k3admm

Debes acotarlo, y el < se acota asi en el XML.

&lt;

De esta manera puedes meter un < enmedio de un atributo, sin cortar el XML.

Saludos.
__________________
http://binarysuns.com.mx/
  #3 (permalink)  
Antiguo 29/07/2014, 22:59
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 21 años, 5 meses
Puntos: 37
Respuesta: Como reemplazar caracteres especiales en XML

Ese dato debe ser incorrecto, yo haria un replace del "MZ<42" via "hardcode" para brincar el problema, si hubieran muchos xmls habria q pensarle mas.
  #4 (permalink)  
Antiguo 28/10/2014, 12:31
 
Fecha de Ingreso: noviembre-2009
Mensajes: 17
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Como reemplazar caracteres especiales en XML

Cita:
Iniciado por Namiwis Ver Mensaje
Hola k3admm

Debes acotarlo, y el < se acota asi en el XML.

&lt;

De esta manera puedes meter un < enmedio de un atributo, sin cortar el XML.

Saludos.
Hola Namiwis, veras lo que sucede es que así es como yo recibo el xml y lo que intento es ver una forma de como obtener esa informacion.

Gracias.
  #5 (permalink)  
Antiguo 28/10/2014, 12:35
 
Fecha de Ingreso: noviembre-2009
Mensajes: 17
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Como reemplazar caracteres especiales en XML

Cita:
Iniciado por wwwmaster Ver Mensaje
Ese dato debe ser incorrecto, yo haria un replace del "MZ<42" via "hardcode" para brincar el problema, si hubieran muchos xmls habria q pensarle mas.
Hola, si ese es el problema que hay varios xml con ese problema y lo que sucede es que es un proceso que se ejecuta automáticamente y hacerlo así via "hardcode" no me serviria por que cambiaria en cada xml
  #6 (permalink)  
Antiguo 04/11/2014, 23:24
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 21 años, 5 meses
Puntos: 37
Respuesta: Como reemplazar caracteres especiales en XML

Pues con .net no hay otra que hacer un "readfile" o sea leer los archivos como texto primero(que un XML no es mas que eso, un archivo texto), hacer el replace como dice Namiwis

valor.replace("MZ<42", "&lt;")

actualizar el archivo .xml (como texto nuevamente, solo asegurate q no pierda la propiedad UTF-8)
(yo lo haria en una CARPETA COPIA, NO EN EL ORIGINAL)

y luego de eso ya podras parsear tus xml's
  #7 (permalink)  
Antiguo 05/11/2014, 15:37
 
Fecha de Ingreso: noviembre-2009
Mensajes: 17
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Como reemplazar caracteres especiales en XML

Encontre una forma que me funciono, utilizando una expresion regular "\w<\w"

Esa fue la forma que encontre, si hay otra forma pues no esta de mas saberla.

Etiquetas: caracteres, especiales, reemplazar, valor, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:39.