2016-04-07 18 views
0

Bu konuda çok sayıda ileti olduğunu biliyorum, ancak .NET'in bu konusunu anlayamıyorum.XML Yanıt Dizgesini C# Sınıfına Dönüştürme

<?xml version="1.0" encoding="UTF-8"?> 
<result command="searchhotels" tID="1460064669000001" ip="99.51.186.120" date="2016-04-07 21:31:16" version="2.0" elapsedTime="7.1676669120789"> 
    <currencyShort>USD</currencyShort> 
    <hotels count="2"> 
     <hotel runno="0" preferred="no" cityname="DUBAI" order="3" hotelid="275975"> 
      <from>292.767 
       <formatted>292.77</formatted> 
      </from> 
      <availability>available</availability> 
     </hotel> 
     <hotel runno="1" preferred="yes" cityname="DUBAI" order="3" hotelid="31084"> 
      <from>278.7142 
       <formatted>278.71</formatted> 
      </from> 
      <availability>available</availability> 
     </hotel> 
    </hotels> 
    <successful>TRUE</successful> 
</result> 

ben hiç bunun nasıl yapılacağını fikir ya da ne sınıf gerektiğini sahip okudum dokümantasyon ve yayınları temel bir sınıfa bu harita istiyorum: Şöyle bir XML dizesi var gibi görünmek. Yardım et? Burada .... Ben bugüne kadar ne olduğunu

"yanıt" xml dizesi ... sınıfa dönüm dizesidir:

 XmlSerializer serializer = new XmlSerializer(typeof(TResponse)); 
     using (StringReader reader = new StringReader(response)) 
     { 

      TResponse deserialized = (TResponse)serializer.Deserialize(reader); 
      return deserialized; 
     } 

Sınıf gibi görünmelidir bilmiyorum, ben Bu araçları online araçlar kullanarak C# sınıfına çevirmeyi denediniz, ancak hiçbir şey işe yaramıyor gibi görünüyor. Peki bu yanıtın sınıfı neye benziyor? Dize bu sınıfa nasıl dönüştürebilirim?

+0

xsd veya http://xmltocsharp.azurewebsites.net/ – Camo

+0

gibi bazı araçları kullanabiliyorsunuz, –

cevap

2

xsd.exe dosyasına bir göz atın - google it - bu xml tabanlı yapıları oluşturmak için kullanabileceğiniz küçük bir yardımcı programdır (infer yapısını) veya xsd dosyaları.

Bununla birlikte seri hale getirme kodunuzda doldurabileceğiniz bir sınıf oluşturabilirsiniz.

+0

sınıfında işe yarayan güzel, nerede program Windows 10'da çalışıyor? –

+0

.Net framework ile paketlenmiştir, bu yüzden C: \ Program Files (x86) \ Microsoft SDK'ları \ Windows \ v10.0A \ bin \ NETFX 4.6 Tools \ –

+0

gibi bir şey olacaktır, string serileştirme hakkında herhangi bir düşünce var mı? –

0

Sadece XML'inizi kaldırmak için sınıflar oluşturmanız gerekiyorsa, bu çevrimiçi aracı Xml2CSharp deneyebilirsiniz. Bu kısayol işe yarayabilir. Aksi halde, XML'inizden bir şema oluşturup şemadan sınıflar oluşturmanız gerekir. This article adımları açıkça açıklar.

İlgili konular