Autor Beitrag
vreden123
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 95
Erhaltene Danke: 2



BeitragVerfasst: Sa 13.07.13 18:58 
Hallo,

ich versuche gerade eine xml Datei einzulesen, was auch bereits klappt.
C# Code:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
XmlTextReader reader = new XmlTextReader("c:\\test\\foldersss.xml");
            while (reader.Read())
            {
                
                switch (reader.NodeType)
                {
                    case XmlNodeType.Element: // The node is an element.
                        Console.WriteLine("Start");
                        Console.WriteLine(reader.Name);
                        break;
                    case XmlNodeType.Text: //Display the text in each element.
                        Console.WriteLine(reader.Value);
                        Console.WriteLine("Stopp");
                        break;
                }
                
            }

            Console.WriteLine("fertig");
            Console.ReadKey();


Inhalt der xml-Datei:
ausblenden XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
<folders>
<folder>
   <subfolder>/</subfolder>
   <folderid>f797b19a-e848-45b9-98e8-a33202b612b8</folderid>
   <parentfolderid>00000000-0000-0000-0000-000000000000</parentfolderid>
</folder>
<folder>
   <subfolder>/Ausbildungsnachweise/</subfolder>
   <folderid>68688162-ea1d-4974-9e4f-6af497d5cc2f</folderid>
   <parentfolderid>f797b19a-e848-45b9-98e8-a33202b612b8</parentfolderid>
</folder>
<folder>
   <subfolder>/Ausbildungsnachweise/April/</subfolder>
   <folderid>6ac972bd-e78e-403a-9bf5-fc6be062144f</folderid>
   <parentfolderid>68688162-ea1d-4974-9e4f-6af497d5cc2f</parentfolderid>
</folder>
</folders>

Es werden alle Items nacheinander ausgebenen. (subfolder, folderid und parentfolderid)

Wie kann ich es machen das z.B nur alle knoten ausgeben werden wo subfolder z.B "Ausbildungsnachweise" ist?

In diesem Beispiel wäre die Ausgabe:

/Ausbildungsnachweise/
68688162-ea1d-4974-9e4f-6af497d5cc2f
f797b19a-e848-45b9-98e8-a33202b612b8


Ich weiß das ich einen Filter bauen muss, aber wie kann ich das am besten anstellen?

Gruß,
Vreden123

Moderiert von user profile iconTh69: Titel geändert.
vreden123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 95
Erhaltene Danke: 2



BeitragVerfasst: Sa 13.07.13 20:00 
Habs selber rausbekommen :-)
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
XmlDocument xDoc = new XmlDocument();
            xDoc.Load("c:\\test\\foldersss.xml");
            foreach (XmlNode node in xDoc.SelectNodes("folders/folder"))
            {
                Console.WriteLine("Subfolder: " + node.SelectSingleNode("subfolder").InnerText);
                Console.WriteLine("folderid: " + node.SelectSingleNode("folderid").InnerText);
                Console.WriteLine("parentfolderid: " + node.SelectSingleNode("parentfolderid").InnerText);
            }