2016-03-20 38 views
0

C# kullanarak, E-posta düğümlerinin iç metninin tüm verilerini bir listeye ve İlgili düğümlerin iç metnindeki tüm verilere, her bir kişi için ayrı ayrı bir listeye kaydetmem gerekir. Şimdilik sadece ilk "e-posta" düğümünü ve ilk "ilgili" düğümü listelere kaydedebiliyordum. Ben bu olsun: enter image description hereNodların iç metinleri aynı ada sahip bir Listeye nasıl kaydedilir?

, bu

enter image description here almalısınız zaman.

Doğru cevap nasıl alınır?

<? xml version="1.0" encoding="utf-8"?> 
<People> 
    <Person> 
    <Name>Toni</Name> 
    <Email>[email protected]</Email> 
    <Email>[email protected]</Email> 
    <Email>[email protected]</Email> 
    <Related>Friend1</Related> 
    <Related>Friend2</Related> 
    </Osoba> 
    <Osoba> 
    <Name>Deni</Name> 
    <Email>[email protected]</Email> 
    <Email>[email protected]</Email> 
    <Email>[email protected]</Email> 
    <Related>Friend3</Related> 
    <Related>Friend4</Related> 
    </Osoba> 
</People> 
+2

göster (diğer bir yolu XmlDocument kullanmaktır). – Cicero

+0

Bu etiketler bana yanlış görünüyor, "" kapalı " ile kapalı. Aynı alanda birden çok kez" E-posta "veya" İlgili "alan adlarını nasıl kullanabileceğinizi de görmüyorum. Bu XML dosyası sarhoş yarattı. –

cevap

1

Ben Bunun yerine yanlış beri yayınlanan birinin aşağıdaki xml varsayıyorum: Bu benim xml dosyasıdır.

<?xml version="1.0" encoding="utf-8"?> 
<People> 
    <Person> 
    <Name>Toni</Name> 
    <Email>[email protected]</Email> 
    <Email>[email protected]</Email> 
    <Email>[email protected]</Email> 
    <Related>Friend1</Related> 
    <Related>Friend2</Related> 
    </Person> 
    <Person> 
    <Name>Deni</Name> 
    <Email>[email protected]</Email> 
    <Email>[email protected]</Email> 
    <Email>[email protected]</Email> 
    <Related>Friend3</Related> 
    <Related>Friend4</Related> 
    </Person> 
</People> 

Ben LINQ to XML kullanıyorum. Eğer veri ayıklamak nasıl

 String path = "Path of your xml file"; 
     XDocument doc = XDocument.Load(path); 
     var nodes = doc.Descendants("Person"); 
     foreach (XElement node in nodes) 
     { 
      var name = node.Element("Name").Value; 
      var emails = node.Elements("Email").Select(x => x.Value); 
     } 
İlgili konular