將套接字接收的XML字串轉換為C#物件
在網路環境中,透過套接字接收XML字串是很常見的。為了有效利用這些XML訊息,需要將它們轉換為C#物件。
提供的範例XML訊息遵循特定結構:
<code class="language-xml"><msg><id>1</id><action>stop</action></msg></code>
要將此類XML字串轉換為C#對象,請依照下列步驟操作:
建立XSD檔:安裝Windows SDK並使用xsd.exe工具將範例XML轉換為XSD模式檔。執行以下命令:
<code class="language-bash">xsd yourfile.xml</code>
產生C#類別:再次使用xsd.exe,將XSD檔案轉換為C#類別。執行此指令:
<code class="language-bash">xsd yourfile.xsd /c</code>
這將產生一個C#類別檔案(例如,yourfile.cs)。
反序列化XML字串:要將XML字串反序列化為C#對象,請建立一個XmlSerializer實例並使用它來反序列化輸入字串。這是一個範例:
<code class="language-csharp">XmlSerializer serializer = new XmlSerializer(typeof(msg)); msg resultingMessage = (msg)serializer.Deserialize(new XmlTextReader("yourfile.xml"));</code>
或者,您可以從記憶體流中反序列化:
<code class="language-csharp">XmlSerializer serializer = new XmlSerializer(typeof(msg)); MemoryStream memStream = new MemoryStream(Encoding.UTF8.GetBytes(inputString)); msg resultingMessage = (msg)serializer.Deserialize(memStream);</code>
或使用StringReader:
<code class="language-csharp">XmlSerializer serializer = new XmlSerializer(typeof(msg)); StringReader rdr = new StringReader(inputString); msg resultingMessage = (msg)serializer.Deserialize(rdr);</code>
此程序可讓您有效地將透過套接字接收的XML字串轉換為C#對象,以便在應用程式中進一步處理和操作。
以上是如何將透過套接字接收的 XML 字串轉換為 C# 物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!