Heim > Backend-Entwicklung > C++ > Wie konvertiert man XML-Strings mit xsd.exe und XmlSerializer in C#-Objekte?

Wie konvertiert man XML-Strings mit xsd.exe und XmlSerializer in C#-Objekte?

Patricia Arquette
Freigeben: 2025-01-20 08:26:09
Original
824 Leute haben es durchsucht

How to Convert XML Strings to C# Objects using xsd.exe and XmlSerializer?

Effiziente Verarbeitung von XML-Strings, die von Sockets empfangen werden: C#-Objektkonvertierungsleitfaden

Nach dem Empfang eines XML-Strings über einen Socket ist es sinnvoll, ihn zur weiteren Verarbeitung in ein C#-Objekt zu konvertieren. Das vom Windows SDK bereitgestellte Tool xsd.exe kann dieses Ziel problemlos erreichen.

Schritt 1: XSD-Datei generieren

Verwenden Sie xsd.exe, um die Beispiel-XML-Zeichenfolge in eine XSD-Datei zu konvertieren. Der Befehl lautet wie folgt:

<code>xsd yourfile.xml</code>
Nach dem Login kopieren

Dadurch wird eine Datei namens yourfile.xsd erstellt, die das Schema für die XML-Nachricht definiert.

Schritt 2: C#-Klasse generieren

Als nächstes konvertieren Sie die generierte XSD-Datei mit dem folgenden Befehl in eine C#-Klasse:

<code>xsd yourfile.xsd /c</code>
Nach dem Login kopieren

Dadurch wird eine Datei namens yourfile.cs generiert, die eine Klasse enthält, die zum Deserialisieren der empfangenen XML-Zeichenfolge verwendet werden kann.

Deserialisieren mit XmlSerializer

Um eine eingehende XML-Zeichenfolge zu deserialisieren, erstellen Sie eine XmlSerializer-Instanz für die generierte Klasse und übergeben ihr einen Stream oder Reader mit den XML-Daten. Hier sind einige Möglichkeiten, dies zu tun:

  • FileStream verwenden:
<code>XmlSerializer serializer = new XmlSerializer(typeof(msg));
msg resultingMessage = (msg)serializer.Deserialize(new XmlTextReader("yourfile.xml"));</code>
Nach dem Login kopieren
  • MemoryStream verwenden:
<code>XmlSerializer serializer = new XmlSerializer(typeof(msg));
MemoryStream memStream = new MemoryStream(Encoding.UTF8.GetBytes(inputString));
msg resultingMessage = (msg)serializer.Deserialize(memStream);</code>
Nach dem Login kopieren
  • Verwenden Sie StringReader:
<code>XmlSerializer serializer = new XmlSerializer(typeof(msg));
StringReader rdr = new StringReader(inputString);
msg resultingMessage = (msg)serializer.Deserialize(rdr);</code>
Nach dem Login kopieren

Mit diesen Schritten können Sie die eingehende XML-Zeichenfolge erfolgreich in ein C#-Objekt konvertieren, um sie einfach in C#-Code bearbeiten und verarbeiten zu können.

Das obige ist der detaillierte Inhalt vonWie konvertiert man XML-Strings mit xsd.exe und XmlSerializer in C#-Objekte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage