您需要使用
xsd.exeWindows SDK附带的工具,该工具类似于以下目录:
C:Program FilesMicrosoft SDKsWindowsv6.0Abin
在64位计算机上:
C:Program Files (x86)Microsoft SDKsWindowsv6.0Abin
在Windows 10计算机上:
C:Program Files (x86)Microsoft SDKsWindowsv7.0Abin
在第一次运行时,您使用
xsd.exe并将示例XML转换为XSD文件(XML模式文件):
xsd yourfile.xml
这样
yourfile.xsd,您便可以在第二步中使用再次将其
xsd.exe转换为C#类:
xsd yourfile.xsd /c
这应该给您一个文件
yourfile.cs,其中包含一个C#类,您可以使用该类反序列化所获取的XML文件-类似于:
XmlSerializer serializer = new XmlSerializer(typeof(msg));msg resultingMessage = (msg)serializer.Deserialize(new XmlTextReader("yourfile.xml"));在大多数情况下应该可以很好地工作。
更新: XML序列化器将任何流作为其输入-文件或内存流都可以:
XmlSerializer serializer = new XmlSerializer(typeof(msg));MemoryStream memStream = new MemoryStream(Encoding.UTF8.GetBytes(inputString));msg resultingMessage = (msg)serializer.Deserialize(memStream);
或使用StringReader:
XmlSerializer serializer = new XmlSerializer(typeof(msg));StringReader rdr = new StringReader(inputString);msg resultingMessage = (msg)serializer.Deserialize(rdr);



