tengo que deserealizar un XML a un objeto de una clase definida, el problema es el siguiente: suponiendo la clase tiene 3 atributos (a, b y c), los xml vienen con los 3 atributos y es fácil deserealizarlos al objeto, mi inconveniente es que en algunas ocasiones el XML no viene con todos los nodos completos, por decir solo viene con el nodo a y c, entonces como hago para deserealizarlo a un objeto y para el nodo que no tiene poner null por ejemplo u otro valor por defecto.
Ты можешь определять свойство IsNullable в XmlElementAttribute
, определенный. Например:
public class MyClass
{
[XmlElement(IsNullable = true)]
public string Campo1;
[XmlElement(IsNullable = true)]
public string Campo2;
}
Если ты не смог решать это используя признаки, которые комментируют тебе наверху. Я использовал бы признаки DataContract и DataMember и меня создал бы мой собственный deserializador.
Но, если то, что это consumiento xml какого-то внешнего ресурса вместо того, чтобы это последовательно преобразовывать прямо, ты можешь получать ответ и вручную с методом помощи распределять стоимость, и так ты сможешь устанавливать стоимость для, когда он мстит null какой-либо из стоимости.
PD: Если то, что ты хочешь, состоит в том, чтобы загружать xml и загружать Вашу стоимость в объекте, так как тогда он использует linq to XML: MSDN Linq to XML