alfinete
Power Member
bom dia
Tenho aqui uma questão sobre quando Temos um Xml com uma propriedade a null , retirar esse nó do mesmo
quero que qualquer prop que no meu xml venha "<nome/>" seja retirada do mesmo
Declaração das propriedades c#
________________________________________________________________________________________
XML Gerado
_______________________________________________________________________________________
transformação c#
doc traz o cml acima descrito
_______________________________________________________________________________________
metodo utilizado para Retirar campos null
________________________________________________________
Agradecia uma ajuda
Tenho aqui uma questão sobre quando Temos um Xml com uma propriedade a null , retirar esse nó do mesmo
quero que qualquer prop que no meu xml venha "<nome/>" seja retirada do mesmo
Declaração das propriedades c#
________________________________________________________________________________________
Código:
[DefaultValue(0)]
public int NumberOfAdults { get; set; }
[DefaultValue(null)]
public int? NumberOfChildren { get; set; }
XML Gerado
_______________________________________________________________________________________
Código:
<NumberOfAdults>1</NumberOfAdults>
<NumberOfChildren />
transformação c#
doc traz o cml acima descrito
_______________________________________________________________________________________
Código:
XmlDocument doc = RemoveNullFields(doc);
metodo utilizado para Retirar campos null
________________________________________________________
Código:
public static XmlDocument RemoveNullFields(this XmlDocument xmldoc)
{
XmlNamespaceManager mgr = new XmlNamespaceManager(xmldoc.NameTable);
mgr.AddNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
XmlNodeList nullFields = xmldoc.SelectNodes("//*[@xsi:nil='true']", mgr);
if (nullFields != null && nullFields.Count > 0)
{
for (int i = 0; i < nullFields.Count; i++)
{
nullFields[i].ParentNode.RemoveChild(nullFields[i]);
}
}
return xmldoc;
}
Agradecia uma ajuda