Heim > Backend-Entwicklung > C++ > Wie konvertiere ich XML-Strings in C#-Objekte?

Wie konvertiere ich XML-Strings in C#-Objekte?

Linda Hamilton
Freigeben: 2025-01-20 08:21:13
Original
205 Leute haben es durchsucht

How to Convert XML Strings to C# Objects?

C#-XML-String-zu-Objekt-Konvertierung: Ein praktischer Leitfaden

Der Empfang von XML-Daten über einen Socket erfordert häufig deren Konvertierung in verwendbare C#-Objekte. Dieser Prozess wird mit dem xsd.exeTool.

optimiert

Suchen xsd.exe: Dieses Tool ist im Windows SDK enthalten. Zu den gängigen Installationspfaden gehören:

  • 32-Bit-Systeme: C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin
  • 64-Bit-Systeme: C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\bin
  • Windows 10 und höher: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin (oder eine neuere Version)

Generieren der C#-Klasse:

Generieren Sie zunächst eine XML-Schema-Definitionsdatei (XSD) aus Ihrem XML-Beispiel:

xsd yourfile.xml
Nach dem Login kopieren

Dadurch entsteht yourfile.xsd. Als nächstes kompilieren Sie diese XSD in eine C#-Klasse:

xsd yourfile.xsd /c
Nach dem Login kopieren

Die resultierende yourfile.cs-Datei enthält eine C#-Klasse, die zur Deserialisierung bereit ist.

Deserialisierung mit XmlSerializer:

Die Klasse XmlSerializer übernimmt die Konvertierung des XML-Strings in Ihr C#-Objekt. So deserialisieren Sie aus verschiedenen Eingabequellen:

1. Aus einer Datei:

XmlSerializer serializer = new XmlSerializer(typeof(msg));
msg resultingMessage = (msg)serializer.Deserialize(new XmlTextReader("yourfile.xml"));
Nach dem Login kopieren

2. Aus einem Erinnerungsstrom:

XmlSerializer serializer = new XmlSerializer(typeof(msg));
MemoryStream memStream = new MemoryStream(Encoding.UTF8.GetBytes(inputString));
msg resultingMessage = (msg)serializer.Deserialize(memStream);
Nach dem Login kopieren

3. Von einem StringReader:

XmlSerializer serializer = new XmlSerializer(typeof(msg));
StringReader rdr = new StringReader(inputString);
msg resultingMessage = (msg)serializer.Deserialize(rdr);
Nach dem Login kopieren

Denken Sie daran, "yourfile.xml" und msg durch Ihren tatsächlichen Dateipfad bzw. Klassennamen zu ersetzen. Dieser Ansatz bietet Flexibilität bei der Handhabung von XML-Strings, die aus verschiedenen Quellen empfangen werden.

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

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