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

Clase serializable XML - C#

Estas en el tema de Clase serializable XML - C# en el foro de .NET en Foros del Web. Buenas noches foreros desde Spain !!! Vereis, estoy haciendo una clase que se pueda serializar. Y en principio me va bien. Lo que pasa que ...
  #1 (permalink)  
Antiguo 22/12/2008, 17:49
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 10 meses
Puntos: 7
Clase serializable XML - C#

Buenas noches foreros desde Spain !!!

Vereis, estoy haciendo una clase que se pueda serializar. Y en principio me va bien. Lo que pasa que una de las propiedades quiero ponerla como atributo de uno de los elementos que hay dentro.

Es decir, mi clase actualmente es esta:
Código:
    [XmlRootAttribute(Namespace = "", IsNullable = false)]
    public class ClsPersona
    {        
        [XmlElement("Nombre")]
        public string Nombre{ get; set; }

        [XmlAttribute("Dni")]
        public string Dni { get; set; }


        [XmlElement("Apellido")]
        public string Apellido { get; set; }


        public ClsPersona() { }
        public ClsPersona(string nombrePersona, string dniPersona, string apellidoPersona)
        {
            this.Nombre = nombrePersona;
            this.Dni = dniPersona;
            this.Apellido = apellidoPersona;
        }
    }
Muy bien, pues el XML que me devuelve la serialización es este:
Código:
<?xml version="1.0" encoding="utf-8"?>
<ClsPersona xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Dni="7164">
  <Nombre>carlos</Nombre>
  <Apellido>hevia</Apellido>
</ClsPersona>

Como podeis ver, me lo hace prácticamente perfecto. Pero... ¿Como podría indicar que el attributo DNI sea del nodo NOMBRE en vez del nodo padre????

En fin, espero puedan resolverme esta dudilla...

Saludos !!!
__________________
Charlie.
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 19:15.