Autor Beitrag
alcedo707
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Fr 21.10.11 21:19 
Hallo,

Ich habe eine Test-XML gemacht, und die schaut so aus:

ausblenden XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
<?xml version="1.0" encoding="utf-8"?>
<DATEN>
  <alcedo707>
    <pass>meinpass123</pass>
  <alcedo707>
  <maxmust123>
    <pass>top9secret</pass>
  <maxmust123>
  <darkness686>
    <pass>dekla</pass>
  </darkness686>
</DATEN>


Ich möchte alle Usernamen (Auch die, die dazukommen werden) in eine Array speichern.

Also in der gespeicherten Array sollte dann alcedo707, maxmuster123, darkness686 stehen.


Ich habe versucht, die kategorien aufzurufen und auszugeben mit


ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
                XDocument xml = XDocument.Load(offnen);

                var query = from p in xml.Elements("DATEN")
                            select p;

                foreach (string record in query)
                {
                    MessageBox.Show(record);

                }


Aber als ergebnis kommt alle was in DATEN steht mit den wert von <pass> in einer schlange ohne leerabstände..

Mfg

ps: ich dachte das gehört zu LINQ aber erst jetzt habe ich gesehen, das es auch ein XML bereich gibt... mist


Moderiert von user profile iconTh69: Topic aus Datenbanken (inkl. ADO.NET) verschoben am Sa 22.10.2011 um 10:10
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Sa 22.10.11 10:18 
Hallo alcedo707,

der Datentyp in deiner Schleife ist falsch, denn XDocument.Elements() liefert ein XElement zurück (du erhältst bisher anscheinend den implizit umgewandelten ToString()-Wert zurück):
ausblenden C#-Quelltext
1:
2:
3:
4:
foreach (XElement record in query)
{
    MessageBox.Show(record.Name);
}
alcedo707 Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Sa 22.10.11 19:16 
Danke ! mit

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
XDocument xml = XDocument.Load(offnen);
var query = from p in xml.Elements("DATEN").Elements()                           
            select p;                

foreach (XElement record in query)                
{                    
    MessageBox.Show(record.Name);               
}


klappte es dann.