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]

Visual Studio Team Foundation Server 2017/2015 (TFS) für Entwickler - Kompakt

Nach Teilnahme an dieser Schulung kennen Sie alle wesentlichen Funktionen des TFS für Entwickler. Sie setzen Software-Entwicklung mit dem Visual Studio Team Foundation Server erfolgreich um.

Visual Studio Team Foundation Server 2017/2015 (TFS) - Komplett 

 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!