XML Dosyası ile Çalışmak

Web Projelerimizde bazı alanlarda xml ile çalışabiliriz.(Haber Sitelerinde gördüğümüz Sliderlar vb. gibi). Bu amaca bir haber slider'da kullanabileceğimiz xml yapısı oluşturalım. Tabi bunu dinamik olarak yaptırmalıyız ki kullanılabilir olsun.

Web Projelerimizde bazı alanlarda xml ile çalışabiliriz.(Haber Sitelerinde gördüğümüz Sliderlar vb. gibi). Bu amaca bir haber slider'da kullanabileceğimiz xml yapısı oluşturalım. Tabi bunu dinamik olarak yaptırmalıyız ki kullanılabilir olsun.

Haberler.xml dosyamız daha önceden oluşturulmuş varsayıyorum.Aşağıdaki şekilde


xml version="1.0" encoding="utf-8"?>

<Haberler>

  <Haber>

    <Id>1</Id>

    <Baslik>Başlık1</Baslik>

    <Detay>Detay1</Detay>

    <ImageUrl>photos/11.jpg</ImageUrl>

    <ThumbImageUrl>photos/1.jpg</ThumbImageUrl>

  </Haber>

  <Haber>

    <Id>2</Id>

    <Baslik>başlık 2</Baslik>

    <Detay>detay 2</Detay>

    <ImageUrl>photos/22.jpg</ImageUrl>

    <ThumbImageUrl>photos/2.jpg</ThumbImageUrl>

  </Haber>

</Haberler>



Şimdi dinamik bir şekilde Haberler.xml dosyasına veri girmemizi sağlayacak metodumuzu yazalım.


public void xmlekaydet(string baslik, string detay,string url,string thumbUrl)

    {

        try

        {







        XmlDocument xdoc = new XmlDocument();

        string path = Server.MapPath("~/Haberler.xml");

        xdoc.Load(path); 

        XmlNode parent = xdoc.ChildNodes[1];



        XmlNode Haber = xdoc.CreateNode(XmlNodeType.Element, "Haber", "");



        int i = Convert.ToInt32(xdoc.DocumentElement.ChildNodes.Count.ToString());



        XmlNode Id = xdoc.CreateNode(XmlNodeType.Element, "Id", "");

            int r=i+1;

            Id.InnerText = r.ToString();



        XmlNode Baslik = xdoc.CreateNode(XmlNodeType.Element, "Baslik", "");

        Baslik.InnerText = baslik;



        XmlNode Detay = xdoc.CreateNode(XmlNodeType.Element, "Detay", "");

        Detay.InnerText = detay;



        XmlNode ImageUrl = xdoc.CreateNode(XmlNodeType.Element, "ImageUrl", "");

        ImageUrl.InnerText = url;

          

        XmlNode ThumbImageUrl = xdoc.CreateNode(XmlNodeType.Element, "ThumbImageUrl", "");

        ThumbImageUrl.InnerText = thumbUrl;



        Haber.AppendChild(Id);

        Haber.AppendChild(ThumbImageUrl);

        Haber.AppendChild(Baslik);

        Haber.AppendChild(Detay);

        Haber.AppendChild(ImageUrl);

        

        parent.AppendChild(Haber);

        xdoc.Save(path);

        lblDurum.Text = "True";

        }

        catch (Exception ex)

        {



            lblDurum.Text = ex.Message.ToString();

        }

    }




Oluşturmuş olduğumuz xml dosyasını database olarak kullanabiliriz.Öreneğin bir repeater yada datalist kontrolune xmldataSource vererek yada LinqtoSql ile bağlayabiliriz.
Örnek Kullanım(XmlDataSource):

<asp:Repeater ID="repeaterPhotos" runat="server" DataSourceID="XmlDataSource1">

            <ItemTemplate>

            <div class="panel" title="Panel 1">

                    <div class="wrapper">

                        <img src="<%#XPath("ImageUrl")%>" alt="temp" />

                        <div class="photo-meta-data">

                            <%#XPath("Baslik")%>

                        </div>

                    </div>

                </div>

            </ItemTemplate>

            </asp:Repeater>

                <asp:XmlDataSource ID="XmlDataSource1" runat="server" 

                    DataFile="~/Haberler.xml"></asp:XmlDataSource>

  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

xml'de insert update ve delete işlemleri için kısa zamanda bir makale hazırlamayı düşünüyorum.bunun haricinde başka kaynaklardan da yararlanabilirsin.
hocam elkinize saglık çok güzel olmuta benim bi sorum olcaktı burda bilmedigim terimler var baslik kısmındaki veriyi bir label a en kolay veya basit şekilde nasıl yazdırırz tşk
hocam süper bir anlatıım olmuş teşekkürler.

Yukarı Git