Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


Flash animasyon ile Xml C# Kardeşligi

Yazar: Cengiz Atilla

Kategori: ASP.NET

Eklenme Tarihi: 07.06.2009 00:07:52

Merhaba Arkadaşla Evet Makalemizin başlıgı biraz garip ama artık günümüzde flash animasyonları xml ile baglantısı ( kardeş ) oldugu icin otomatik olarakda c# ile kardeş :) Şimdi haberlerimizi flash animasyon içerisinde gösterelim ve bunu tabili database tarafında tuttugumuz veriler ile yapalım . Önce database den cekelim sonra xml ini olusturalım ve flash animasyonumuz bunu okusun . Herşey Bu Kadar Basit .!
Makalemize başlamadan önce flash animasyonumuzu xml dosyamızı ve database imizi ayarlaryalım . Biraz uzun bir makale olucak sıkılmadan okursanız dewamında cok guzel bir haber gösterim kısmımız olucak !

Adım Adım Gidelim .

1.ADIM : SQL IŞLEMLERIMIZ [ DATABASE + TABLO YAPISINI OLUŞTURUP IÇERIK GIRMEK ]

create

databaseMakalelerim

use
Makalelerim

create
tabletbl_haber
(
Haberid int identity(1,1),
Haberbaslik nvarchar(max),
Haberkisayazi nvarchar(max),
HaberIcerik nvarchar(max)
)

Makalelerim adında oluşturduğum database imin içine tbl_haber adında tablomu oluşturdum  . Şimdi içerisine bir kaç adet haber girelim .


tbl_haber tablomuzu açıp içerisine değerlerimizi girdik . Sql ile olan işimiz simdilik bitti . Tabiki içerik yönetimi olması icin ekle sil duzenle gibi işlemleride yapmamız gerekmektedir . Bizim amacımız sqldeki verileri okumak ve bunları xml olarak flash ın görmesini sağlamak .

2. ADIM : XML YAPIMIZI INCELEYELIM .

Xml yapımızı inceleyelim . Flash animasyonumuz bizden aşağıdaki formatda xml ister ...

<?

xml version="1.0" encoding="utf-8"?>
<
rss version="2.0"
>
<
channel
>
<
title>Başlık</title
>
<
link>sayfa url</link
>
<
description>Açıklama</description
>
<
copyright>copyright bilgilerimiz</copyright
>
<
pubDate>Oluşturulma Tarihi</pubDate
>
<
language>Dil bilgisi</language
>
<
webMaster>Siteyi Tasarlayanın Adı</webMaster
>
<
item
>
<
title>Haber Başlık</title
>
<
description>Haber İçerik</description
>
<
link>Haber Link</link
>
</
item
>
<item
>
<
title>Haber Başlık</title
>
<
description>Haber İçerik</description
>
<
link>Haber Link</link
>
</
item
>
<item
>
<
title>Haber Başlık</title
>
<
description>Haber İçerik</description
>
<
link>Haber Link</link
>
</
item>

</channel>
</
rss>

Amacımız yukarıdaki formatda bir xml dosyasını c# ile sqldeki haber bilgilerini alarak dinamik sekilde xml dosyası oluşturmak olucakdır .

3. Adım : Yukarıdaki adımlarda önce Sql içerisinde database imizi oluşturduk daha sonra tablomuzu oluşturup içerisine verilerimizi girdik flash animasyonumuzun istedigi xml yapısını gördük . Artık bizim sqlden verilerimizi alıp içerde bunları xml e cevirip flash ile kullanmamız gerekmektedir . Şimdi biraz Code yazalım :)

C# da işlemlerimize başlamadan önce haber class ımızı yazalım ...

haberlerim.cs

public

class haberlerim
{
    public inthaberid { get; set
; }
    public stringhaberbaslik { get; set
; }
    public stringhaberkisayazi { get; set
; }
    public stringhabericerik { get; set
; }
    public
haberlerim()
    {
    
    }
}

Yukarıda haberlerim sınıfımızı tamamladık .

Şimdi gidelim ve database imize baglanıp haberlerimizi çekelim .

databaseislemlerim.cs

tbl_haber tablomuzu açıp içerisine değerlerimizi girdik . Sql ile olan işimiz simdilik bitti . Tabiki içerik yönetimi olması icin ekle sil duzenle gibi işlemleride yapmamız gerekmektedir . Bizim amacımız sqldeki verileri okumak ve bunları xml olarak flash ın görmesini sağlamak .

public

class databaseislemlerim
{
    
SqlConnectioncon; 
    
SqlCommandcmd; 

    publicdatabaseislemlerim() 
    {
            con =
new SqlConnection("data source=.; initial catalog=Makalelerim; integrated security = true"); 
    } 
    public voidBaglantiIslemlerim() 
    {
        if(con.State == System.Data.ConnectionState.Closed) 
        {
            con.Open();
        }
        else 
        {
            con.Close();
        }
    }
    
public SqlDataReaderHaberlerimiAl() 
    {
        cmd =
new SqlCommand("Select * from tbl_haber", con); 
        BaglantiIslemlerim();
        
returncmd.ExecuteReader(); 
    }
}

Yukarıda Sql server ımıza bağlanıp tbl_haber tablosundan verilerimizi çektik ve SqlDataReader olarak bir ust katmana aktardık . Şimdi Datayonetim sınıfı tanımlayıp aldıgımız bu ham veriyi ( SqlDataReader ) düzenleyip bir koleksionda toplayacağız .

Datayonetim.cs

public

class datayonetim
{
    databaseislemlerimislem;
    SqlDataReaderReader;
    publicdatayonetim()
    {
        islem =
new databaseislemlerim();
    }
    public List<haberlerim> HaberlerimiAl()
    {
        List<haberlerim> Haberlerim = new List<haberlerim>();
        Reader = islem.HaberlerimiAl();
        while(Reader.Read())
        {
            Haberlerim.Add(
new haberlerim()
            {
                haberid = Reader.GetInt32(0),
                haberbaslik = Reader.GetString(1),
                haberkisayazi = Reader.GetString(2),
                habericerik = Reader.GetString(3),
            });
        }
        Reader.Close();
        islem.BaglantiIslemlerim();
        
returnHaberlerim;
    }
}

Datayonetim sınıfımızda islem.HaberAl(); metotumuzdan gelen SqlDataReader while içerisinde Read(); olana kadar verilerimizi list<haberlerim> koleksiyonuna topladık . Şimdi elimizde sql server ımızdan gelen haberlerimiz list<T> olarak elimizde var  . Şimdi verilerimizi uygun xml formatında kayıt edelim .

xmlislemlerim.cs


public

XElementHaberXmlAl(List<haberlerim> Haberler)
{
    List<XElement> d = new List<XElement>();
    XElementitemlar;
        foreach(haberlerimitem inHaberler)
        {
            itemlar =
new XElement("item",
                new XElement("title", item.haberbaslik),
                new XElement("description", item.haberkisayazi),
                new XElement("link", "haberdetay.aspx?id=", item.haberid));
                d.Add(itemlar);
        }
    XElementx = new XElement("rss", new XAttribute("version", "2.0"),
         new XElement("channel",
            new XElement("title", "Cengiz Atilla - Haberler Uygulaması"),
            new XElement("link", "http://www.cengizatilla.com"),
            new XElement("description", "Flash Xml Csharp Kardesligi | :)"),
            new XElement("copyright", "2009 Cengiz AT˜LLA"),
            new XElement("pubDate", "06 - 06 - 2009"),
            new XElement("language", "tr-TR"),
            new XElement("webMaster", "Cengiz Atilla"),
            d));
    returnx;
}

Xml işlemleri sınıfımızda HaberAlXml(List<haberlerim> haberler) metotumuz parametre olarak list<haberlerim> tipinden koleksiyon istemektedir . Biz datayonetim.cs sınıfımızda bu sekilde database tarafından gelen verilerimizi düzenlemiştik . ( Verilerimiz Hazır )

HaberAlXml metotumuz içerisinde flash animasyonumuzun istediği xml şemasına uygun verilerimizi yazdık ve geriye XElement tipinde deger döndürdük.

Şimdi default.aspx sayfamızda flash animasyonumuzu koyalım ve bir adet buton atalım .

<body>
<form id="form1" runat="server">
<div>
</div>
<table cellpadding="0" cellspacing="0" style="width: 935px">
<tr>
<td>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="898" height="29">
<param name="movie" value
="ewsflow.swf">
<param name="quality" value
="high">
<embed src="ewsflow.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="898" height="29"></embed></object
>

</
td>
</tr>
<tr>
<td style="text-align: center">
<asp:Button ID="btn_xml" runat="server" onclick="btn_xml_Click" Text="Yeni Haberleri Yükle" Width="541px" />
</td>
</tr>
</table>
</form>
</
body>

Yukarıda default.aspx sayfamıza flash animasyonumuzu  ve bir adet buton ekledik . Butona tıkladıgımız zaman xml dosyamız oluşucaktır .

Şimdi default.aspx.cs sınıfımıza gidelim ve son işlemimiz olan butona tıklama olayını yazalım .

default.aspx.cs

public
partial class _Default: System.Web.UI.Page
{
xmlislemlerimxmlislem;
datayonetimyonetim;
    protected voidPage_Load(objectsender, EventArgse)
    {
        xmlislem =
new xmlislemlerim();
        yonetim =
new datayonetim();
    }
    protected voidbtn_xml_Click(objectsender, EventArgse)
    {

        XElementelement = xmlislem.HaberXmlAl(yonetim.HaberlerimiAl());
        stringyol = Server.MapPath(".\\");
        element.Save(yol +
"ar.xml");
    }
}

Artık butona bastıgımız zaman ;

  • Sql server ımıza baglanıp tbl_haber icerisindeki haberleri alıcak ve datayonetim katmanına ( SqlDataReader ) tipinden vericektir .
  • Datayonetim sınıfımız verileri alıp list<haberlerim> koleksiyonunda toplayacaktır 
  • Xmlislemleri sınıfımız HaberXmlAl metot u ile verileri XElement olarak bize geri vericektir .
  • element.save metot unu kullanarakda xml dosyamızı olusturacagız .
  • Flash ımızda yeni xml dosyasını okuyacaktır :)

Örnek Kodlar icin http://www.cengizatilla.com/images/Haberservis.rar linkinden indirebilirsiniz .

Cengiz ATİLLA 
www.cengizatilla.com 
atilla@cengizatilla.com

Yazar Hakkında 2 Yorum Yorum Yaz Yazara ait diğer Makaleler
Tema
Anket
Visual Studio 2010 Beta 2'yi denediniz mi?


En Çok Okunan Makaleler
En Son Eklenen Makaleler
Soru Merkezinde Bekleyenler
Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.