• 12-04-2017, 00:40:43
    #1
    Merhaba Arkadaşlar,

    XML Etiket isimlerini textboxlarda göstermem gerkiyor. Yani aşağıdaki şekilde bir xml yapımızın olduğunu düşünelim.


    <?xml version="1.0" encoding="utf-8"?>
    <PERSONELLER>
    <PERSONEL>
    <ADI>ERCAN</ADI>
    <SOYADI>AKAR</SOYADI>
    </PERSONEL>
    </PERSONELLER>

    Yukarıda kalın harflerle yazdığım etiket isimlerini textboxlara yazdırmak istiyorum ancak bir türlü yapamadım. Daha önce bu şekilde uğraşan arkadaşlarım varmı? Varsa acil dönüş yapabilirse çok sevinirim...
  • 12-04-2017, 13:31:44
    #2
       
                var strxml ="<?xml version=\"1.0\"?>"+
                    "<PERSONELLER>"+
                    "<PERSONEL>"+
                    "<ADI>ERCAN</ADI>"+
                    "<SOYADI>AKAR</SOYADI>"+
                    "</PERSONEL>"+
                    "</PERSONELLER>";
    
                var ms= new MemoryStream(Encoding.UTF8.GetBytes(strxml));
                var xmlDoc = XDocument.Load(ms);
                var nodes= xmlDoc.DescendantNodes();
                var p= nodes.Where(f => f.GetType() == typeof(XElement)).Cast<XElement>()
                    .FirstOrDefault(f => ((XElement) f).Name.LocalName.Equals("PERSONEL"));
    
                textBox1.Text = ((XElement) p.Nodes().ToList()[0]).Name.LocalName; //ad
                textBox2.Text = ((XElement)p.Nodes().ToList()[1]).Name.LocalName; //soyad
  • 12-04-2017, 23:41:16
    #3
    ertan2002 adlı üyeden alıntı: mesajı görüntüle
       
                var strxml ="<?xml version=\"1.0\"?>"+
                    "<PERSONELLER>"+
                    "<PERSONEL>"+
                    "<ADI>ERCAN</ADI>"+
                    "<SOYADI>AKAR</SOYADI>"+
                    "</PERSONEL>"+
                    "</PERSONELLER>";
    
                var ms= new MemoryStream(Encoding.UTF8.GetBytes(strxml));
                var xmlDoc = XDocument.Load(ms);
                var nodes= xmlDoc.DescendantNodes();
                var p= nodes.Where(f => f.GetType() == typeof(XElement)).Cast<XElement>()
                    .FirstOrDefault(f => ((XElement) f).Name.LocalName.Equals("PERSONEL"));
    
                textBox1.Text = ((XElement) p.Nodes().ToList()[0]).Name.LocalName; //ad
                textBox2.Text = ((XElement)p.Nodes().ToList()[1]).Name.LocalName; //soyad
    cevap için teşekkür ederim öncelikle..

    XML etiketlerini XML dosyasından almak istediğimizde nasıl yapabiliriz?
  • 13-04-2017, 01:20:37
    #4
    memory stream kullanmana gerek yok o halde, sadece

    var xmlDoc = XDocument.Load(@"c:\dosya.xml");

    seklinde degistirmen yeterli
  • 13-04-2017, 01:50:38
    #5
    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    memory stream kullanmana gerek yok o halde, sadece

    var xmlDoc = XDocument.Load(@"c:\dosya.xml");

    seklinde degistirmen yeterli

    teşekkür ederim.