2009-08-10 16 views

Respuesta

54

Deberá indicar qué espacios de nombres requiere cada campo al usar Namespace del atributo XmlElement. Esto le permitirá asociar un campo con un espacio de nombre particular, pero también deberá exponer una propiedad en su clase que devuelva el tipo XmlNamespaceDeclarations para obtener la asociación de prefijo.

Véase la documentación y por debajo de la muestra:

[XmlRoot(ElementName="person")] 
    public class Person 
    { 

     [XmlElement(Namespace="http://example.com")] 
     public string fname; 

     [XmlElement(Namespace="http://sample.com")] 
     public string lname; 

     [XmlNamespaceDeclarations] 
     public XmlSerializerNamespaces xmlns = new XmlSerializerNamespaces(); 

     public Person() 
     { 
      xmlns.Add("a", "http://example.com"); 
      xmlns.Add("b", "http://sample.com"); 
     } 
    } 
+0

Eso es todo, gracias! –

+1

Una nota para los demás, parece que el asunto XmlSerializerNamespaces no es necesario si solo se realiza la deserialización, aunque aún así lo consideraría una buena práctica. –

+1

leyenda ¡He estado buscando edades para esto! – jcvandan

Cuestiones relacionadas