Вам потрібно скористатися xsd.exe
інструментом, який встановлюється разом із пакетом SDK для Windows, у каталог, подібний до:
C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin
І на 64-бітних комп’ютерах:
C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\bin
А на комп’ютерах Windows 10:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin
Під час першого запуску ви використовуєте 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);