Maison > développement back-end > C++ > Comment puis-je supprimer les valeurs nulles lors de l'utilisation du sérialiseur XML .NET ?

Comment puis-je supprimer les valeurs nulles lors de l'utilisation du sérialiseur XML .NET ?

Linda Hamilton
Libérer: 2025-01-12 08:26:42
original
942 Les gens l'ont consulté

How Can I Suppress Null Values When Using the .NET Xml Serializer?

Sérialisation XML .NET : gestion des valeurs nulles

Le sérialiseur XML .NET standard inclut des valeurs nulles par défaut. Pour les exclure, utilisez le modèle ShouldSerialize. Ce modèle vous permet de définir si une propriété doit être sérialisée.

Pour chaque propriété nécessitant la suppression des valeurs nulles, créez une méthode nommée ShouldSerialize{PropertyName}. Par exemple, une propriété entière nullable MyNullableInt aurait besoin de cette méthode :

<code class="language-csharp">public bool ShouldSerializeMyNullableInt()
{
  return MyNullableInt.HasValue;
}</code>
Copier après la connexion

Cette méthode renvoie true si MyNullableInt a une valeur, déclenchant la sérialisation. Sinon, il renvoie false, empêchant la sérialisation de la valeur nulle.

Voici un exemple de classe démontrant cela :

<code class="language-csharp">public class Person
{
  public string Name { get; set; }
  public int? Age { get; set; }
  public bool ShouldSerializeAge()
  {
    return Age.HasValue;
  }
}</code>
Copier après la connexion

Sérialiser une instance :

<code class="language-csharp">Person person = new Person { Name = "Chris" };
XmlSerializer xs = new XmlSerializer(typeof(Person));
StringWriter sw = new StringWriter();
xs.Serialize(sw, person);</code>
Copier après la connexion

Le XML résultant omet l'élément Age en raison de sa valeur nulle :

<code class="language-xml"><person xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><name>Chris</name></person></code>
Copier après la connexion

L'utilisation de méthodes ShouldSerialize personnalisées fournit un contrôle granulaire sur la sérialisation, permettant l'omission sélective des valeurs nulles pour une sortie XML plus concise et efficace.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal