Maison >développement back-end >Tutoriel XML/RSS >Sérialisation XML (5) pour écrire un fichier XML

Sérialisation XML (5) pour écrire un fichier XML

黄舟
黄舟original
2017-02-10 16:33:581581parcourir

Écrivez le contenu dans le fichier XML via le sérialiseur XML dans .NET. Nous introduisons ici la sérialisation des collections de listes.

Qu'est-ce que la sérialisation en premier ? Qu'est-ce que ça fait ?

Sérialisation

Sérialisation (Sérialisation) convertit les informations d'état de l'objet en A processus sous une forme pouvant être stockée ou transmise. Lors de la sérialisation, un objet écrit son état actuel dans un stockage temporaire ou persistant. Plus tard, l'objet peut être recréé en lisant ou en désérialisant l'état de l'objet à partir du magasin.

La sérialisation permet à un autre code d'afficher ou de modifier les données d'instance d'objet qui sont inaccessibles sans sérialisation. Plus précisément, le code qui effectue la sérialisation nécessite des autorisations spéciales : SecurityPermission avec l'indicateur SerializationFormatter spécifié. Sous la politique par défaut, via Internet Le code téléchargé ou le code intranet n'accorde pas cette autorisation ; seul le code sur l'ordinateur local bénéficie de cette autorisation.

Normalement, tous les champs d'une instance d'objet sont sérialisés, ce qui signifie que les données sont représentées comme les données sérialisées de l'instance. De cette façon, le code capable d'interpréter le format peut être en mesure de déterminer la valeur de ces données sans dépendre de l'accessibilité du membre. De même, la désérialisation extrait les données de la représentation sérialisée et définit directement l'état de l'objet, là encore quelles que soient les règles d'accessibilité.

Tout objet pouvant contenir des données de sécurité importantes doit être rendu non sérialisable si possible. S'il doit être sérialisable, essayez de générer des champs spécifiques pour contenir des données importantes qui ne sont pas sérialisables. Si cela n'est pas possible, vous devez savoir que les données seront exposées à tout code disposant d'autorisations de sérialisation et vous assurer qu'aucun code malveillant n'obtient cette autorisation.


Pour résumer : La sérialisation consiste à convertir un objet complexe en flux pour faciliter notre stockage et nos échanges d'informations. Je ne connais pas grand chose en sécurité. L'essentiel est que si certaines informations doivent rester confidentielles, définissez-les comme non sérialisables pour empêcher d'autres de les désérialiser. Je suis un débutant Sérialisation XML (5) pour écrire un fichier XML Si vous avez des informations approfondies sur la sérialisation, veuillez laisser vos précieux commentaires, je vous en serais très reconnaissant. Sérialisation XML (5) pour écrire un fichier XML

La collection de listes est sérialisée et écrite dans un fichier XML

(1) Créez d'abord une classe de personne, qui inclut le nom, âge, envoyez trois attributs par courrier électronique.


<span style="font-family:Microsoft YaHei;font-size:18px;">public class person
    {
        public string Name
        {
            set;
            get;
        }
        [XmlIgnore]
        public int Age
        {
            get;
            set;
        }
        public string Email
        {
            get;
            set;
        }

    }</span>

Remarque : [XmlIgnore] dans le code ci-dessus est une opération non sérialisable sur l'attribut Age. Il s'agit d'une fonctionnalité non sérialisable exclusive aux sérialiseurs XML. Pour les autres objets, utilisez [NonSerialized].
(2) Implémenter la sérialisation XML en ajoutant des données à la collection de listes



<span style="font-family:Microsoft YaHei;font-size:18px;">List<person> list=new List<person> ();
            list.Add(new person() { Name = "istari", Age = 22, Email = "1061399756@qq.com" });
            list.Add(new person() { Name = "ss", Age = 22, Email = "1061399756@qq.com" });
            list.Add(new person() { Name = "ww", Age = 22, Email = "521@qq.com" });

            //实现xml序列化
            XmlSerializer xml = new XmlSerializer(typeof(List<person>));
            using (FileStream fs=File.OpenWrite ("List.xml"))
            {
                xml.Serialize(fs, list);

            }
            Console.WriteLine("OK");
            Console.ReadKey();</span>

( 3 )Résultat



<span style="font-family:Microsoft YaHei;font-size:18px;"><?xml version="1.0"?>
<ArrayOfPerson xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <person>
    <Name>istari</Name>
    <Email>1061399756@qq.com</Email>
  </person>
  <person>
    <Name>ss</Name>
    <Email>1061399756@qq.com</Email>
  </person>
  <person>
    <Name>ww</Name>
    <Email>521@qq.com</Email>
  </person>
</ArrayOfPerson></span>

PS

Le format du fichier XML écrit via cette méthode est le format défini en interne par le sérialiseur XML. Vous n’avez pas besoin de le changer vous-même. Vous pouvez également créer vous-même un sérialiseur au lieu d'utiliser le sérialiseur système. Le prochain article est à partager. Sérialisation XML (5) pour écrire un fichier XML


Ce qui précède est le contenu de la sérialisation XML (5) écrit dans le fichier XML. Pour plus de contenu connexe, veuillez. faites attention à PHP Chinese Net (www.php.cn) !

Déclaration:
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