myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns
» Datenschutzerklärung
» Impressum

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Gemeinschaft » .NET-Komponenten und C#-Snippets » XML To TreeView
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

XML To TreeView

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Siedlerchr Siedlerchr ist männlich
myCSharp.de-Mitglied

Dabei seit: 07.11.2009
Beiträge: 178
Entwicklungsumgebung: Visual Studio 2008
Herkunft: NRW


Siedlerchr ist offline Füge Siedlerchr Deiner Kontaktliste hinzu

XML To TreeView

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Beschreibung:

Dieses Snippet liest eine XML Datei aus und fügt sie einer TV hinzu.
Das eigentliche Snippet hab ich gefunden und angepasst.


Edit// Snipper neu formatiert, ist beim Copy/Paste passiert..
Kommentare sind hierbei unnötig, da der Code soweit selbst erklärend ist.

C#-Code:
  /// <summary>
        /// Diese Methode lädt ein XML-Dokument, geht es hierarchisch durch und fügt jeweils die Value Eigenschaft
        /// eines XML-Nodes in eine TreeView als Node ein
        /// </summary>
        /// <param name="treeView"></param>
        public void XmlToTreeView(TreeView treeView)
        {
            myXmlDocument.Load("...");
            treeView.Nodes.Clear();
            XmlRekursivImport(treeView.Nodes, myXmlDocument.DocumentElement.ChildNodes);
            TranslateNodes(treeView.Nodes);
        }
        private void XmlRekursivImport(TreeNodeCollection elem, XmlNodeList xmlNodeList)
        {
            TreeNode treeNode = new TreeNode(); ;
            foreach (XmlNode myXmlNode in xmlNodeList)
            {
                if (myXmlNode.Value == null)
                {
                    treeNode = new TreeNode(myXmlNode.Name);
                }

                if (myXmlNode.ChildNodes.Count > 0)
                {
                    XmlRekursivImport(treeNode.Nodes, myXmlNode.ChildNodes);
                }
                elem.Add(treeNode);
            }
        }

Schlagwörter: XML, TreeView, Rekursiv

Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von Siedlerchr am 21.01.2011 17:12.

21.01.2011 13:50 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Joetempes Joetempes ist männlich
myCSharp.de-Mitglied

avatar-3309.jpg


Dabei seit: 29.03.2007
Beiträge: 887
Herkunft: Germany


Joetempes ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo Siedlerchr,

Veröffentlichungen sollte man immer gut formatieren, Dein Snipped sieht ein bischen wie hingeklatscht aus:

- Keine Kommentare
- Doppelte Leerzeilen
- Doppelte Simikolons (; ;)
- Zwischen Methoden & wo angebracht keine Leerzeile

Das kannst Du doch besser, oder?

Grüße

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Joetempes am 21.01.2011 14:19.

21.01.2011 14:13 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegen mehr als 3 Jahre.
slayerofyourmind
myCSharp.de-Mitglied

Dabei seit: 18.11.2014
Beiträge: 10


slayerofyourmind ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,

ich weiß, man soll alte Threads nicht wieder zum leben erwecken. Allerdings frage ich mich, für woher diese Zeile kommt, bzw. was sie macht.

C#-Code:
TranslateNodes(treeView.Nodes);

Mit freundlichen Grüßen

Slayerofyourmind
15.01.2015 09:19 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
herbivore
myCSharp.de-Poweruser/ Experte

avatar-2627.gif


Dabei seit: 11.01.2005
Beiträge: 49.453
Entwicklungsumgebung: csc/nmake (nothing is faster)
Herkunft: Berlin


herbivore ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo slayerofyourmind,

ich würde vermuten, dass diese eine eigene Methode von Siedlerchr ist, die bestimmte Nacharbeiten durchführt. Der eigentliche Import ist zu diesem Zeitpunkt aber schon erfolgt. Im einfachsten Fall kannst und solltest du den Aufruf einfach entfernen.

herbivore
15.01.2015 12:57 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegen mehr als 3 Jahre.
Pardasus Pardasus ist männlich
myCSharp.de-Mitglied

Dabei seit: 11.09.2016
Beiträge: 59


Pardasus ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ich war mal so frei und habe den Code leicht korrigiert und um die Ausgabe des Values ergänst.

C#-Code:
/// <summary>
/// Diese Methode lädt ein XML-Dokument, geht es hierarchisch durch und fügt jeweils die Value Eigenschaft
/// eines XML-Nodes in eine TreeView als Node ein
/// </summary>
/// <param name="treeView"></param>
public void XmlToTreeView(TreeView treeView)
{
    XmlDocument myXmlDocument = new XmlDocument();
    myXmlDocument.Load("yourXMLFile.xml");
    treeView.Nodes.Clear();
    XmlRekursivImport(treeView.Nodes, myXmlDocument.DocumentElement.ChildNodes);
}

private void XmlRekursivImport(TreeNodeCollection elem, XmlNodeList xmlNodeList)
{
    TreeNode treeNode = new TreeNode();

    foreach (XmlNode myXmlNode in xmlNodeList)
    {
        if (myXmlNode.Value == null)
        {
            treeNode = new TreeNode(myXmlNode.Name);
        }
        else
        {
            treeNode = new TreeNode(myXmlNode.Value);
        }

        if (myXmlNode.ChildNodes.Count > 0)
        {
            XmlRekursivImport(treeNode.Nodes, myXmlNode.ChildNodes);
        }
        elem.Add(treeNode);
    }
}

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Pardasus am 06.06.2018 22:58.

06.06.2018 22:56 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 8 Jahre.
Der letzte Beitrag ist älter als 11 Monate.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 26.05.2019 14:12