Feedback

C# - Treeview in XML schreiben

Veröffentlicht von am 07.04.2006
(2 Bewertungen)
Diese Methode wandelt den Inhalt eines Treeviews in eine XML Datei um.
GFU-Schulungen  [Anzeige]

C# Aufbaukurs

Sie haben grundlegende .NET- und C#-Kenntnisse und und wollen diese nun erweitern. Der Aufbaukurs C# führt Sie ein die Arbeit mit Interfaces und Delegates, Generics und Parallel Computing.

XML und .NET Überblick

Um auf dem neuesten Wissensstand zu sein, sollten Sie unser aktuelles ASP .NET Komplett Seminar belegen.
Nach dem Seminar kennen Sie die wichtigsten Strömungen in der Software-Technologie

 public static void exportToXml(TreeView tv, string filename) 
        {
            sr = new StreamWriter(filename, false, System.Text.Encoding.UTF8);
            sr.WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\" ?>");

            IEnumerator ie = tv.Nodes.GetEnumerator();
            if (ie.MoveNext()) 
            {
                TreeNode tn = (TreeNode) ie.Current;
                sr.WriteLine("<" + tn.Text + ">");
                parseNode(tn);
            }

            sr.Close();
        }

private static void parseNode(TreeNode tn) 
{
  IEnumerator ie = tn.Nodes.GetEnumerator();

  string parentnode = "";

  parentnode = tn.Text;

  while (ie.MoveNext()) 
  {
    TreeNode ctn = (TreeNode) ie.Current;

    if (ctn.GetNodeCount(true) == 0) 
    {
      sr.Write(ctn.Text);
    } 
    else 
    {
      sr.Write("<" + ctn.Text + ">");
    }
    if (ctn.GetNodeCount(true) > 0) 
    {
      parseNode(ctn);
    }
  }

  sr.Write("</" + parentnode + ">");
  sr.WriteLine("");

}
Abgelegt unter XML, TreeView.

2 Kommentare zum Snippet

AKR schrieb am 29.05.2006:
Also a) fehlt die Definition von parseNode, b) nutzt man zum Erzeugen eines Xml Dokumentes am besten einen XmlTextWriter und c) nutzt man am besten foreach( TreeNode node in tv.Nodes) statt Enumerator.
Jan Welker schrieb am 14.06.2006:
die Definition von parseNode habe ich hinzugefügt
 

Logge dich ein, um hier zu kommentieren!