Aşağıdaki gibi bir xml dosyamız var ve biz web sitemizde kullandığımız slider’da ilk önce en son eklenenden en başta eklenene göre göstermek istiyoruz.Burada linq to xml ile order by deyimini kullanarak bu
sıralamayı gerçekleştirebiliriz.
<?xml version="1.0" encoding="utf-8"?> <Banners> <Banner> <Id>1</Id> <Baslik>Reklam 1</Baslik> <Link>#</Link> <ImageUrl>slider/10A05383042863A7944CC0E4899FE8A9.jpg</ImageUrl> </Banner> <Banner> <Id>2</Id> <Baslik>Reklam 2ı</Baslik> <Link>#</Link> <ImageUrl>slider/FFF6560E5D259B04219009907C0BA9A0.jpg</ImageUrl> </Banner> <Banner> <Id>3</Id> <Baslik>Reklam 3</Baslik> <Link>#</Link> <ImageUrl>slider/2AEA1B6E920A0BA5E87AF8C1BB97FC77.jpg</ImageUrl> </Banner> <Banner> <Id>4</Id> <Baslik>Reklam 4</Baslik> <Link>#</Link> <ImageUrl>slider/53A0BF585CCDC7DD649E9A0C92B08768.jpg</ImageUrl> </Banner> </Banners> |
//ilgili Banner Classımız public class Banner { public string Id { get; set; } public string Baslik { get; set; } public string Link { get; set; } public string ImageUrl { get; set; } public Banner() { // // TODO: Add constructor logic here // } } // public Banner GetBanner(XElement item) { Banner banner = new Banner(); banner.Id = item.Element("Id").Value.ToString(); banner.Baslik = item.Element("Baslik").Value.ToString(); banner.Link = item.Element("Link").Value.ToString(); banner.ImageUrl = item.Element("ImageUrl").Value.ToString(); return banner; } //order by kullanımı public List<Banner> GetBanners() { List<Banner> bannerList = new List<Banner>(); var banners = from item in doc.Descendants("Banner") orderby (int)item.Element("Id") descending select item; foreach (var item in banners) { Banner banner = GetBanner(item); bannerList.Add(banner); } return bannerList; } |
Yukarıda yazdığımız GetBanners() isimli metodun bize döndüreceği sonuca göre sıralama aşağıdaki gibi olucaktır.Bu metodu herhangibi bir repeater yada datalist vb data kontrolune datasource olarak verebiliriz.
repeaterBanner.DataSource = bm.GetBanners(); repeaterBanner.DataBind(); |
Reklam4
Reklam3
Reklam2
reklam 1
Hocam merhaba şöyle bir sorunum var hiç bir yerde çözümü bulamadım bana yardımcı olabilir misiniz?XML’le Full Flash yaptığım siteye yönetim paneli yapmaya çalışıyorum , ASP.Net ten LINQ TO xml yöntemiyle aşağıdaki kodlarla XML e kayıt ekleme yapıyorum ancak beşinci elementte ifadesi eklemem gerekiyor aşağıdaki gibi yaptığımda XML’ e karakterinin yerine de “‘&bt;’ ifadesini yani bu karakterlerin kodlarını çıkarıyor ben karakterlerini XML;’e olduğu gibi nasıl kaydedebilirim, bu durumu nasıl düzeltebilirim yardımcı olabilir misiniz? Çok teşekkürler şimdiden…
XElement xml = new XElement(“photo”,
new XElement(“thumbnail”, TextBox1.Text),
new XElement(“filename”, TextBox2.Text),
new XElement(“baslik1″, TextBox3.Text),
new XElement(“baslik2″, TextBox4.Text),
new XElement(“description”,”"),
new XElement(“link”, TextBox6.Text),
new XElement(“fiyat1″, TextBox7.Text),
new XElement(“indorani”, TextBox8.Text));
XDocument doc = XDocument.Load(Server.MapPath(“~/App_Data/satislar.xml”));
doc.Root.Add(xml);
doc.Save(Server.MapPath(“~/App_Data/satislar.xml”));
Response.Write(“kayıt eklendi”);
sen de karakterlerin kodlarını koymayı dene.belki o zaman olabilir.