Empêcher la fermeture automatique des balises dans XmlSerializer lorsque aucune donnée n'est présente

Quand je sérialiser la valeur : Si aucune valeur n'est présente dans les données, puis ça vient comme ci-dessous au format.

  <Note>
        <Type>Acknowledged by PPS</Type>
        <Data />
  </Note>

Mais ce que je veux de données xml dans le format ci-dessous:

  <Note>
        <Type>Acknowledged by PPS</Type>
        <Data></Data>
  </Note>

Code Pour ce que j'ai écrit :

[Serializable]
public class Notes
{
    [XmlElement("Type")]
    public string typeName { get; set; }

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

Je ne suis pas en mesure de comprendre ce qu'il faut faire pour obtenir les données dans le format ci-dessous si les données n pas attribuer une valeur quelconque.

  <Note>
        <Type>Acknowledged by PPS</Type>
        <Data></Data>
  </Note>
Alors que je ne suis pas sûr de savoir pourquoi vous voulez le faire, notez que le fichier xml que vous avez écrit est en fait pas valide. Vous n'avez jamais fermer l'élément de Données.
Si j'utilise ce alors [XmlElementAttribute(IsNullable = false)] <Données></Données> ignorer complètement que je ne veux pas
Le temps où la différence entre <Données/> et <Données></Données> en fait, les questions sont de petite taille, généralement directement liée à incomplète/buggy implémentations. Pourquoi voulez-vous faire?
Parce que je suis en train de faire une opération si il n'y a aucun élément trouvé dans les <Données></Données> valeur
Vous devriez lire ma réponse à cette question et l'appliquer à Votre situation.

OriginalL'auteur Nishant Kumar | 2012-11-24