jQuery Ajax ve Asp.Net ile XML dosyalarını okumak
Tarih 14 Ocak 2010 Perşembe, 16:20 | Etiket(ler) Ajax, JavaScript, jQuery, Asp.Net
Yeni bir yazıyla yine birlikteyiz. Bu sefer başlıktan anlaşılacağı gibi Asp.Net ve jQuery Ajax ile XML dosyalarını nasıl okuyacağımızı anlatmaya çalışacağım. Aslında bu blogda projelerde kullanmamız gereken ve faydalı olduğuna inandığım bilgileri paylaşmaya çalışıyorum. Gerçek hayatta deneyimler ile kazanılmış ve zaman ayrılıp araştırılıp sonuca ulaşılmış çözümler her zaman daha sonuç odaklı olur diye düşünüyorum. Teorik olan bilgi uygulanmadan tecrübe edilmez mottosuyla yazımıza başlayalım.
Okumamız gereken XML dosyasını ilk etapta generic handler olarak oluşturacak, arkasından bu datayı jquery ile dinamik olarak Asp.Net formu üzerinden ajax ile okuyacağız.
jQuery'i indirip projenize ekleyin ve aşağıdaki şekilde bir generic handler (.ashx) oluşturun.
Bu datayı kişiselleştirebilir, session veya cookie değerlerine göre şekillendirebilir, kullanıcılarınıza özel çözümler üretebilirsiniz. Ben örnek olması amacıyla şöyle bir veri oluşturdum.
Verileri sağlayan Handler.ashx dosyamız.
Imports System
Imports System.Web
Imports System.Xml
Public Class Handler : Implements IhttpHandler
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
context.Response.ContentType = "text/xml"
Dim xmlYazici As New XmlTextWriter(context.Response.OutputStream, Encoding.UTF8)
xmlYazici.Formatting = Formatting.Indented
xmlYazici.WriteStartDocument()
xmlYazici.WriteStartElement("Sonuclar")
xmlYazici.WriteElementString("AdiSoyadi", "Cenk SARI")
xmlYazici.WriteElementString("KullaniciID", "13")
xmlYazici.WriteElementString("Sonuc", "Giriş işlemi başarıyla sonuçlandı")
xmlYazici.WriteEndElement()
xmlYazici.WriteEndDocument()
xmlYazici.Flush()
xmlYazici.Close()
End Sub
Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
Get
Return False
End Get
End Property
End Class
Gördüğünüz gibi 3 adet veri üretiyoruz. AdıSoyadı, Kullanıcı ID ve Sonuç. Şimdi dosyayı okuyacağımız javascript fonksiyonumuza gelelim.
function xmlParse(gidecek) {
$.ajax({
url: gidecek,
type: 'GET',
dataType: 'xml',
cache: false,
success: function(xml){
$(xml).find('Sonuclar').each(function(){
var AdiSoyadi = $(this).find('AdiSoyadi').text();
var KullaniciID = $(this).find('KullaniciID').text();
var Sonuc = $(this).find('Sonuc').text();
$('#adi').html(AdiSoyadi);
$('#kid').html(KullaniciID);
$('#son').html(Sonuc);
});
},
error: function(){
$('#son').html('Sonuçlar alınırken bir hata oluştu!');
}
});
}
Sonuçları basacağımız Default.aspx sayfamız
<form id="form1" runat="server">
<a href="javascript:void(0);" onclick="xmlParse('Handler.ashx');">XML al ve sonucu bas</a>
<br />
<h1>Sonuçlar</h1>
<div id="sonuc">
<div id="adi"></div>
<div id="kid"></div>
<div id="son"></div>
</div>
</form>
Siz isterseniz bu handler'a veri post edebilir, session ve cookie gibi yardımcı elemanlar dışında sonuçları girilen veriye göre de şekillendirebilirsiniz.
Projenin çalışan halini buradan indirebilirsiniz
Yorumlar
Tarih 18 Nisan 2011 Pazartesi, 10:14 | Yazan İhlas Temizlik Robotu

Gayet açıklayıcı olmuş Teşekkürler
Tarih 21 Ocak 2010 Perşembe, 22:09 | Yazan Selman Mert

Web.Methodlarada erişebiliyor bu alet bildiğim kadarıyla
Yorum yazın
Geri Dön | Ana Sayfaya Dön