Bir önceki yazıda Xml dosya oluşturma veri eklemeyi uygulamıştık. Bu yazıda oluşturduğumuz ve veri eklediğimiz xml dosyasındaki verileri nasıl okuruz görelim. Xml dosya okuma işlemini 3 ayrı; textbox, combobox ve listview kontrollerin de göstererek konunun öğrenilmesi için daha verimli hale getirdim.
Uygulama çalıştığında resimdeki gibi veriler kontrollerimizde gözükecek. Form üzerinde çalışma yaptığım uygulamada ilk olarak textbox lara veriyi nasıl çekebiliriz görelim. Aşağıdaki resimdeki gibi xml dosyamızın yapısı incelemenizde fayda olacak.
Daha önceden oluşturduğumuz xmldosyam.xml isimli dosyasmızın içindeki Kullanici3 daki veriyi textboxlarımızda gösterelim.
[cc lang=”c#”] XmlDocument doc = new XmlDocument();
doc.Load(“c:\\klasorum\\xmldosyam.xml”);
XmlElement root = doc.DocumentElement;
XmlNodeList kayitlar = root.SelectNodes(“/Rapor/kullanicilar”);
foreach (XmlNode secilen in kayitlar)
{
string sirasi = secilen.Attributes[0].InnerXml;
if (sirasi == “kullanici3”)
{
textBox1.Text = secilen[“adi”].InnerText;
textBox2.Text = secilen[“soyadi”].InnerText;
}
}[/cc]
Xml den combobox a dosyadaki bütün veriyi çekip gösterme;
[cc lang=”c#”] XmlDocument doc = new XmlDocument();
doc.Load(“c:\\klasorum\\xmldosyam.xml”);
XmlElement root = doc.DocumentElement;
XmlNodeList kayitlar = root.SelectNodes(“/Rapor/kullanicilar”);
foreach (XmlNode secilen in kayitlar)
{
comboBox1.Items.Add(secilen[“adi”].InnerText);
} [/cc]
Xml dosyasındaki verileri listview de gösterme;
[cc lang=”c#”]XmlDocument doc = new XmlDocument();
doc.Load(“c:\\klasorum\\xmldosyam.xml”);
XmlElement root = doc.DocumentElement;
XmlNodeList kayitlar = root.SelectNodes(“/Rapor/kullanicilar”);
foreach (XmlNode secilen in kayitlar)
{
ListViewItem lv = new ListViewItem();
lv.Text = secilen[“adi”].InnerText;
lv.SubItems.Add(secilen[“soyadi”].InnerText);
listView1.Items.Add(lv);
} [/cc]
hocam birşey sormak istiyorum.
peki xml dosyasındaki tagları texbox a veya listbox a nasıl atayabiliriz?
MESUT
POLAT
Önek yukarıdaki xml dosya verilerinde bana gereken şey bu xml deki tag adları yani “AD,SOYAD” bu iki değeri listboxa nasıl aktarabilirim?
yalin listbox ın text inde sadece şunu yazmasını istiyorum :
AD
SOYAD
Dostum sorunu anladım. Database deki gibi kolon isimlerini de yazdırmak istiyorsun. Ama üzgünüm daha önceden denemediğim için cevap veremeyeceğim şimdilik…
Merhaba uygulamanızı inceledim.Öncelikle emeğinize sağlık.Benim de buna benzer bir konuda sıkıntım var. Ben bir proje üzerinde çalışıyorum: örnek olarak anlatmak gerekirse ürünler diye xmlde veri tabanı oluşturdum ve ürün isimlerini listboxa özelliklerini de seçildiğinde textboxa aktarıyorum;ama ihtiyaç biraz gelişti ve her ürünün bir markası ortaya çıktı ben markaları comboboxa eklemeyi ve comboboxda seçilen isme göre ürün adlarını listboxa atmayı yapamadım böyle bir uygulama örneği elinizde var mı yada bana yol gösterebilirseniz çok sevinirim.
iyi günler dilerim..
Dostum bu işi linq ile yapabilirsin. linq to xml Türkçe arama yaptığında ihtiyacın olan bilgiyi bulursun. Konuna gelirsek, çözmek istediğin sorun şehir ilçe ilişkisi gibi.
Örnek kod vereyim;
XDocument xmlUrunler = XDocument.Load(“urun.xml”);
XDocument xmlKategoriler = XDocument.Load(“kategori.xml”);
var urunler = (from urun in xmlUrunler.Element(“Urunler”).Elements(“urun”)
join kategori in xmlKategoriler.Element(“Kategoriler”).Elements(“kat”)
on urun.Element(“kategorisi”).Value equals kategori.Element(“id”).Value
select new
{
id = urun.Element(“id”).Value,
urunadi = urun.Element(“urunadi”).Value,
fiyat = urun.Element(“fiyati”).Value,
kategori = kategori.Element(“kategoriadi”).Value
}).ToList();
foreach (var secilen in urunler)
{
ListViewItem lv = new ListViewItem();
lv.Text = secilen.id.ToString();
lv.SubItems.Add(secilen.urunadi.ToString());
lv.SubItems.Add(secilen.fiyat.ToString());
lv.SubItems.Add(secilen.kategori.ToString());
lvUrunler.Items.Add(lv);
}
İyi Günler,
Xml den çektiğim verileri datagirdviewde görüntülüyorum ancak xml’e ilk eklenen kayıt grdiviewde en üstte son eklenen kayıt en altta gözüküyor. Ben xml e son eklenen kaydı en üstte nasıl görüntüleyebilirim.
–
Şube A
OFFLINE
08:36:26
03.05.2013
–
Şube A
OFFLINE
08:36:31
03.05.2013
XML bu şekildedir.
Gelen kayıtları sorguladıktan sonra datagirdview de göstermen gerekiyor. xml linq konularını incele…
Buradaki örnekden de bir şeyler çıkarabilirsin
http://coder.digitaldunyam.net/xml-dosyasini-veritabani-olarak-kullanma/
merhaba
radyo dinlemek için radyo url’lerini kolayca değiştirebileceğim bi yapı oluşturmak istiyorum
listbox’a xml’deki “id”ye göre sıralama yapacak
xml deki adlar listbox’ta görünecek ve seçildiğinde mediaplayer radyo kanalını çalmaya başlayacak
tek amacım kapanan veya değişen radyo olduğunda bunu daha kolay şekilde değiştirebilmek
konularınıza biraz baktım xml güncelleme radyo ekleme silme forma nasıl eklenir anlayamadım
sizden ricam en azından xml’den veriyi çekip bunları isimlendirip listeleyerek çalmama yardımcı olmanız
bu veya buna benzer bir xml den çalmak istiyorum
Burada http://coder.digitaldunyam.net/xml-kaydet-guncelle-silme-islemleri/ ilgili örnek var kodları ile birlikte indirip incelerseniz yapacağınız projede yardımcı olacaktır.
Merhaba Öncelikle paylaşımınız için çok teşekkür ederim.
çok işime yaradı ve XML oluşturma ve okuma işini çözdüm.
fakat sizden bir konuda yardım istiyorum.
E fatura dosyaları içerisinde cac:Item gibi node lar var bu alanları okutmada başarılı olamadım bu konuda yardımcı olabilirseniz sevinirim.
merhaba hocam gercekten cok tskler paylaşım ıcın artı benım yapmak ıstedıgımse xmlden aldıgım verılerın sırasıyla olması yanı bırıncıyı aldı onu textboxa attı sonrada ıslemlerı yaptı bitince ıkıncıyı alacak onun ıcınde aynı seylerı yapacak yardımcı olurmusunuz
selam ,
hocam elimde xml ler var. lin şeklinde xmllerin kodları xml sitelerinde bulunmakta. xmlleri reklaamction,go, gibi şirketlerden alıyorum ve bunları blogger sitemde kullanmak istiyorum. bunun içi bana yardımcı olurmusunuz lütfen.