|  | 
        
            | 
                    
                        | WebClient ile XML Verisinin Gönderilip İşlenmesi |  |  
                        | 
	
    
		
            | Gönderiliyor lütfen bekleyin... | 
 |  | 
        
            | Bu örneğimizle, WebClient classı ile bir xml stringini 
				nasıl post edeceğimizi ve post ettiğimiz veriy XmlDocument ile nasıl 
				yükleyeceğimizi öğreneceğiz. Dilerseniz önce WebClient sınıfına kısa bir 
				giriş yapıp daha sonra örnek kodumuzla konuya açıklık getirelim. 
 WebClient sınıf bir URI (Uniform Resource 
				Identifier) ye veri gönderme ve URI den veri almaya yarayan metotları  
				içerir. Bu metotlar: DownloadData, DownloadFile, OpenRead, OpenWrite, 
				UploadData, UploadFile, UploadValues dir.
 
 Ben bu yazımda WebClient'ın sadece UploadData metotunu 
				açıklamaya çalışacağım.
 
 Aşağıdaki kodun çalışabilmesi için kodunuza 
				System.Text ve System.Net isim alanlarını eklemeyi unutmayın.
 
 
 
					
						| 
								
							using System.Text; using 
									System.Net;
							Eklemeyi unutmayın.
 
 private
									void Form1_Load(object
									sender, System.EventArgs e)
							{
 
								string xmlString = 
											"0635587TolgaGuler";}/* WebClient ile 
										göndermek istediğimiz stringi oluşturuyoruz. Tabi bu stringin xml formatında 
										olmasına gerek yok,
 ama bizim uygulamamızda stringi yolladığımız sayfa geçerli bir xml yapısı 
										bekliyor. */
 
 string
										url = "http://localhost/getxmlstring/WebForm1.aspx";
 // xsml stringi yollayacağımız 
										adresi string olarak tanımlıyoruz.
 
 WebClient myWebClient = new
										WebClient();
 // WebClient objesini 
										yaratıyoruz.
 
 byte[] 
										data = Encoding.ASCII.GetBytes(xmlString);
 //  WebClient metodu 
										yollanacak olan datayı byte olarak parametre alabildiği için stringi byte a 
										çeviriyoruz.
 
 byte[] 
										response = myWebClient.UploadData(url,"POST",data);
 /* byte türünden response 
												değişkenini tanımlıyoruz. ve değer olarak da datayı kabul eden sayfanın 
												döndürdüğü byte
 türünden değeri atıyoruz. UploadData metotu 3 parametre alır. 1.si datanın 
												yollanacağı string tütünden url değişkeni,
 2.si metot  bu POST veya GET  olabilir. 3.sü byte türünden yollanacak 
												veri.
 
 MessageBox.Show(Encoding.ASCII.GetString(response).ToString());
								/* byte olan respons u stringe çevirip 
										görüntülüyoruz.
 |  
 Böylece istediğimiz datayı istediğimiz sayfaya nasıl 
				yollayabileceğimiz öğrenmiş olduk. Diğer metotları da MSDN den 
				rahatlıkla öğrenebilirsiniz. Gelelim datamızı kabul eden aspx sayfasına. 
				Bu uygulama kendisine gönderilen xml'i XmlDocument sınıf  Load() 
				metodu ile yükler, düğümlerin(node) değerlerini tek tek değişkenlere atar ve bu 
				değişkenleri internetteki veri tabanına kaydeder.
 
 Yeni bir Asp.Net web projesi yaratın ve adını 
				getxmlstring olarak ayarlayın.
 
 Kodunuzun başına using System.Xml; i eklemeyi 
				unutmayın tabii.
 
 
 
					
						| 
								
							private 
										void Page_Load(object sender, 
									System.EventArgs e) {
 
								XmlDocument myXml = new XmlDocument();
										}try
 {
 
									myXml.Load(Request.InputStream);}
								catch(Exception ex)
								{// xml i yüklerken hata olup olmadığını kontrol ediyoruz
 
									Response.Write(ex.Message.ToString());}Response.End();
 // hata oluşursa yanıt olarak hata mesajını verip 
												uygulamayı sonlandırıyoruz.
 XmlNode MusteriNo = 
										myXml.SelectSingleNode("/Kayit/MusteriNo");
 XmlNode Adi = myXml.SelectSingleNode("/Kayit/Adi");
 XmlNode Soyadi = myXml.SelectSingleNode("/Kayit/Soyadi");
 // gönderilen xml in her bir 
											nodundaki değerleri XmlNode tipi değişkenlerine atıyoruz.
 
 Response.Write(Kaydet(MusteriNo.InnerXml,Adi.InnerXml,Soyadi.InnerXml).ToString());
 // verileri kaydet isimli fonksiyon ile internetteki 
											veri tabanına kaydediyoruz.ve cevap veriyoruz
 // Not : Yukarıdaki Kaydet() metodunu siz kendi 
												veritabanınıza göre ayarlamalısınız.
 Response.End();
 |  
 Böylece masa üstü programımızdan 
				WebClient sınıfının DataPost metodu ile internetteki veri tabanına kayıt 
				yapmış olduk. Tabi bu işi yapan bir web servisi programlamak bu örnek için daha 
				mantıklı olabilir.
 
 
 
                Makale:WebClient ile XML Verisinin Gönderilip İşlenmesi XML ve Web Servisleri Tolga Güler
 | 
        
            |  | 
        
            |  | 
        
            | 
                    
                        
                            
                        
                            Eklenen Son 10 
                            Bu Konuda Geçmiş 10 
                        
                            Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
                         
                            Son Eklenen 10 Makale Yükleniyor
                         
                            Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor
                         | 
        
            |  |