ソケットで受信した XML 文字列の効率的な処理: C# オブジェクト変換ガイド
ソケット経由で XML 文字列を受信した後、さらに処理するためにそれを C# オブジェクトに変換すると便利です。 Windows SDK によって提供される xsd.exe ツールを使用すると、この目標を簡単に達成できます。
ステップ 1: XSD ファイルを生成する
xsd.exe を使用して、サンプル XML 文字列を XSD ファイルに変換します。コマンドは次のとおりです。
<code>xsd yourfile.xml</code>
これにより、XML メッセージのスキーマを定義する yourfile.xsd というファイルが作成されます。
ステップ 2: C# クラスを生成する
次に、次のコマンドを使用して、生成された XSD ファイルを C# クラスに変換します。
<code>xsd yourfile.xsd /c</code>
これにより、受信した XML 文字列を逆シリアル化するために使用できるクラスを含む yourfile.cs というファイルが生成されます。
XmlSerializer を使用した逆シリアル化
受信 XML 文字列を逆シリアル化するには、生成されたクラスの XmlSerializer インスタンスを作成し、XML データを含むストリームまたはリーダーに渡します。これを行うには、いくつかの方法があります:
<code>XmlSerializer serializer = new XmlSerializer(typeof(msg)); msg resultingMessage = (msg)serializer.Deserialize(new XmlTextReader("yourfile.xml"));</code>
<code>XmlSerializer serializer = new XmlSerializer(typeof(msg)); MemoryStream memStream = new MemoryStream(Encoding.UTF8.GetBytes(inputString)); msg resultingMessage = (msg)serializer.Deserialize(memStream);</code>
<code>XmlSerializer serializer = new XmlSerializer(typeof(msg)); StringReader rdr = new StringReader(inputString); msg resultingMessage = (msg)serializer.Deserialize(rdr);</code>
これらの手順を使用すると、受信 XML 文字列を C# オブジェクトに正常に変換できるため、C# コードでの操作と処理が容易になります。
以上がxsd.exe と XmlSerializer を使用して XML 文字列を C# オブジェクトに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。