Как считать XML в класс/классы, который соответствует его xsd

Таким образом, у меня есть XSD и веб-сервис, который поставляет в том же самом формате.

Теперь я мог идти вперед и считать xml в документ, создать свои объекты из класса и т.д., Но я думаю, должен быть некоторый более легкий способ сделать это.

Я прав? ;)


 
  47.643727
  -122.130474
  
1 Microsoft Way, #Way1
Redmond WA 98052-6399 US

Ниже автоматически сгенерированные классы (два на самом деле), с помощью xsd.exe

class diagram

13
задан Enrico Campidoglio 13 August 2019 в 12:10
поделиться

3 ответа

Вы можете использовать XmlSerializer для десериализации текста XML в экземпляры классов, сгенерированных xsd.exe .
XmlSerializer будет использовать атрибуты метаданных , размещенные в сгенерированных классах для отображения между элементами XML и объектами.

string xmlSource = "<ResultSet><Result precision=\"address\"><Latitude>47.643727</Latitude></Result></ResultSet>";

XmlSerializer serializer = new XmlSerializer(typeof(ResultSet));
ResultSet output;

using (StringReader reader = new StringReader(xmlSource))
{
    output = (ResultSet)serializer.Deserialize(reader);
}
22
ответ дан 1 December 2019 в 22:24
поделиться

Генератор кода XSD в Liquid XML Studio отлично справляется с задачей создания кода C # или vb.net, совместимого с высокой степенью совместимости, из схемы XML. Затем этот код можно использовать для вызова или реализации веб-службы.

Если вы реализуете веб-службу, вы можете взять под контроль WSDL, созданный с использованием XmlSchemaProvider и IXmlSerializable, см. Получение контроля над WSDL

0
ответ дан 1 December 2019 в 22:24
поделиться

Вы можете просто создать типизированный набор данных из XSD и затем заполнить один из этих объектов XML. Это довольно распространенный метод.

0
ответ дан 1 December 2019 в 22:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: