Heim  >  Artikel  >  Backend-Entwicklung  >  XML(5)-Serialisierung zum Schreiben einer XML-Datei

XML(5)-Serialisierung zum Schreiben einer XML-Datei

黄舟
黄舟Original
2017-02-10 16:33:581474Durchsuche

Schreiben Sie den Inhalt über den XML-Serializer in .NET in die XML-Datei. Hier stellen wir die Serialisierung von Listensammlungen vor.

Was ist Serialisierung zuerst? Was macht es?

Serialisierung

Serialisierung (Serialisierung) wandelt die Statusinformationen des Objekts in A um Prozess in einer Form, die gespeichert oder übertragen werden kann. Bei der Serialisierung schreibt ein Objekt seinen aktuellen Zustand in den temporären oder dauerhaften Speicher. Später kann das Objekt neu erstellt werden, indem der Status des Objekts aus dem Speicher gelesen oder deserialisiert wird.

Serialisierung ermöglicht es anderem Code, Objektinstanzdaten anzuzeigen oder zu ändern, auf die ohne Serialisierung nicht zugegriffen werden kann. Insbesondere erfordert Code, der die Serialisierung durchführt, besondere Berechtigungen: SecurityPermission mit angegebenem SerializationFormatter-Flag. Gemäß der Standardrichtlinie über das Internet Heruntergeladener Code oder Intranet-Code gewährt diese Berechtigung nicht; nur Code auf dem lokalen Computer erhält diese Berechtigung.

Normalerweise werden alle Felder einer Objektinstanz serialisiert, was bedeutet, dass die Daten als serialisierte Daten der Instanz dargestellt werden. Auf diese Weise kann Code, der das Format interpretieren kann, möglicherweise den Wert dieser Daten bestimmen, ohne auf die Zugänglichkeit des Mitglieds angewiesen zu sein. In ähnlicher Weise extrahiert die Deserialisierung Daten aus der serialisierten Darstellung und legt den Objektstatus direkt fest, wiederum unabhängig von Barrierefreiheitsregeln.

Jedes Objekt, das wichtige Sicherheitsdaten enthalten könnte, sollte nach Möglichkeit nicht serialisierbar gemacht werden. Wenn es serialisierbar sein muss, versuchen Sie, bestimmte Felder zu generieren, um wichtige Daten aufzunehmen, die nicht serialisierbar sind. Wenn dies nicht möglich ist, sollten Sie sich darüber im Klaren sein, dass die Daten jedem Code mit Serialisierungsberechtigungen ausgesetzt werden, und sicherstellen, dass kein bösartiger Code diese Berechtigung erhält.


Zusammenfassend : Bei der Serialisierung geht es darum, ein komplexes Objekt in einen Stream umzuwandeln, um unsere Speicherung und den Informationsaustausch zu erleichtern. Ich weiß nicht viel über Sicherheit. Die Hauptsache ist, dass einige Informationen, die vertraulich behandelt werden müssen, als nicht serialisierbar definiert werden, um zu verhindern, dass andere sie deserialisieren. Ich bin ein Neuling XML(5)-Serialisierung zum Schreiben einer XML-Datei Wenn Sie detaillierte Einblicke in die Serialisierung haben, wäre ich Ihnen sehr dankbar. XML(5)-Serialisierung zum Schreiben einer XML-Datei

Listensammlung wird serialisiert und in eine XML-Datei geschrieben

(1) Erstellen Sie zunächst eine Personenklasse, die Name, Alter, E-Mail drei Attribute.


<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>

Hinweis: [XmlIgnore] im obigen Code ist eine nicht serialisierbare Operation für das Age-Attribut. Dies ist eine nicht serialisierbare Funktion, die es nur bei XML-Serialisierern gibt. Für andere Objekte verwenden Sie [NonSerialized].
(2) Implementieren Sie die XML-Serialisierung, indem Sie Daten zur Listensammlung hinzufügen



<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 )Ergebnis



<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

Das Format der mit dieser Methode geschriebenen XML-Datei ist das intern vom XML-Serialisierungsprogramm festgelegte Format. Sie müssen es nicht selbst ändern. Sie können einen Serializer auch selbst erstellen, anstatt den System-Serializer zu verwenden. Der nächste Artikel ist für Sie zum Teilen bestimmt. XML(5)-Serialisierung zum Schreiben einer XML-Datei


Das Obige ist der Inhalt der XML (5)-Serialisierung, der in die XML-Datei geschrieben wurde. Weitere verwandte Inhalte finden Sie hier Achten Sie auf PHP Chinese Net (www.php.cn)!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn