Heim >Backend-Entwicklung >C++ >Wie kann ich XML -Dokumente in C# -Objekte deserialisieren?

Wie kann ich XML -Dokumente in C# -Objekte deserialisieren?

Barbara Streisand
Barbara StreisandOriginal
2025-02-02 17:36:10781Durchsuche

How to Deserialize XML Documents into C# Objects?

In der Umgebung des XML -Dokuments unter der Umgebung der XML -Dokumentumgebung, detaillierte Erläuterung von

Bei der Verarbeitung von XML -Dokumenten in der .NET -Anwendung wird das XML -Dokument häufig in ein C#-Objekt serialisiert. Dieser Prozess beinhaltet das Konvertieren von XML -Daten in das entsprechende C#Repräsentationsformular.

Beispiel XML -Dokument

Berücksichtigung der folgenden XML -Dokumente mit verschiedenen Autoinformationen:

<code class="language-xml"><?xml version="1.0" encoding="utf-8"?><cars><car><stocknumber>1020</stocknumber><make>Nissan</make><model>Sentra</model></car><car><stocknumber>1010</stocknumber><make>Toyota</make><model>Corolla</model></car><car><stocknumber>1111</stocknumber><make>Honda</make><model>Accord</model></car></cars></code>
Definition C#

Um das XML -Dokument zu vertiefen, müssen wir die C#-Klasse definieren, die die XML -Struktur darstellt. Erstellen Sie zwei Kategorien:

    Autoklasse: Details eines einzelnen Autos.
  • <code class="language-csharp">  [Serializable()]
      public class Car
      {
        [System.Xml.Serialization.XmlElementAttribute("StockNumber")]
        public string StockNumber{ get; set; }
    
        [System.Xml.Serialization.XmlElementAttribute("Make")]
        public string Make{ get; set; }
    
        [System.Xml.Serialization.XmlElementAttribute("Model")]
        public string Model{ get; set; }
      }</code>
  • Autos: Das Root -Element des XML -Dokuments enthält ein Array eines Autoobjekts.
  • <code class="language-csharp">  [System.Xml.Serialization.XmlRootAttribute("Cars", Namespace = "", IsNullable = false)]
      public class Cars
      {
        [XmlArrayItem(typeof(Car))]
        public Car[] Car { get; set; }
    
      }</code>
  • Der Prozess der Vertiefung der Serialisierung

Um das XML -Dokument zu verwirklichen, erstellen Sie bitte eine CoSerializer -Klasse, die die Deserialize -Methode enthält:

Diese Methode lädt das XML -Dokument, verwendet XMLSerializer, um es in ein CARS -Objekt umzuwandeln, und gibt eine serialisierte Zählerdaten zurück.
<code class="language-csharp">public class CarSerializer
{
    public Cars Deserialize()
    {
        string path = HttpContext.Current.ApplicationInstance.Server.MapPath("~/App_Data/") + "cars.xml";

        using (XmlReader reader = XmlReader.Create(path))
        {
            XmlSerializer ser = new XmlSerializer(typeof(Cars));
            Cars cars = (Cars)ser.Deserialize(reader);
            return cars;
        }
    }
}</code>

Verwenden Sie die Daten der Carrier -Oriented -Daten

Jetzt können Sie mit der methodie der Deseerialize das CARS -Objekt des Sequentials erhalten und dann darauf zugreifen, um Informationen über das Auto zu bedienen und abzurufen.

Das obige ist der detaillierte Inhalt vonWie kann ich XML -Dokumente in C# -Objekte deserialisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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