Jak naplnit prvku TreeView s daty XML v aplikaci Visual C# 2005 nebo v jazyce Visual C#.NET

Překlady článku Překlady článku
ID článku: 317597 - Produkty, které se vztahují k tomuto článku.
Pro Microsoft Visual Basic.NET verzi tohoto článku, naleznete v tématu 308063.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Krok za krokem popisuje naplnit Prvek TreeView řízení pomocí dat Extensible Markup Language (XML) v aplikaci Microsoft Visual C# 2005 nebo Microsoft Visual C#.NET. Protože oba XML a Prvek TreeView ovládací prvek reprezentaci dat v hierarchickém formátu, Prvek TreeView ovládací prvek je přírodní výběr zobrazení dat XML.

Na Prvek TreeView má ovládací prvek Uzly kolekce s kořenovým adresářem Objekt TreeNode objekty. Každý Objekt TreeNode zase má své vlastní Uzly Kolekce obsahující více než jeden podřízený Objekt TreeNode.

Poznámka: Tento příklad používá modelu DOM (Document Object) při analýze tříd .NET zpracování XML.

Další informace o návrhu XML v.NET Framework, naleznete "Odkazy"oddíl.

Požadavky

Následující seznam obsahuje doporučený hardware, software, síťovou infrastrukturu a aktualizace service Pack, které potřebujete:
  • Systém Microsoft Windows XP, Microsoft Windows 2000 nebo Microsoft Systém Windows NT 4.0 Service Pack 6a
  • Součásti Microsoft Data Access Components 2.6 (MDAC) nebo později
  • Microsoft Visual Studio 2005 nebo Microsoft Visual Studio.NET
Tento článek předpokládá znalost těchto témat:
  • Syntaxe Visual C# 2005 nebo Visual C#.NET syntaxe
  • XML a související normy
  • Model Windows Forms

Postup vytvoření a načtení ovládacího prvku TreeView s XML

  1. Vložte následující ukázkový kód XML do nového textového souboru s názvem "Sample.xml". Tento soubor je vzorová data XML pro tento příklad:
    <?xml version="1.0"?>
    <family>
    <parent>id="grandfather"
        <parent>id="father"
             <parent>id="brother"
                <child>id="niece"
                </child>
             </parent>
             <parent>id="me"
                <child>id="son"</child>
                <child>id="daughter"</child>
             </parent>
             <child>id="sister"</child>
         </parent>
         <parent>id="uncle"
             <parent>id="cousin sister"
                <child>id="second cousin"</child>
             </parent>
             <child>id="cousin brother"</child>
         </parent>
    </parent>
    </family>
  2. Vytvoření nové aplikace založené na systému Windows, Visual C# 2005 nebo v jazyce Visual C#.NET. Ve výchozím nastavení je do aplikace přidány Formulář1.
  3. Přetáhněte nový Prvek TreeView, Tlačítko, Popisek, a Textové pole Chcete-li ovládacích prvků do formuláře Form1.
  4. Přidejte následující kód vzorku na konci použití části směrnic v Form1.cs:
    using System.Xml;
    					
  5. Vložte následující kód do vzorku Form1_Load událost:
          
             // Initialize the controls and the form.
             label1.Text = "File Path";
             label1.SetBounds(8, 8, 50, 20);
             textBox1.Text = Application.StartupPath + "\\Sample.xml";
             textBox1.SetBounds(64, 8, 256, 20);
             button1.Text = "Populate the TreeView with XML";
             button1.SetBounds(8, 40, 200, 20);
             this.Text = "TreeView control from XML";
             this.Width = 336;
             this.Height = 368;
             treeView1.SetBounds(8, 72, 312, 264);
    					
  6. Vložte následující kód do Button1_Click událost:
             try 
             {
                // SECTION 1. Create a DOM Document and load the XML data into it.
                XmlDocument dom = new XmlDocument();
                dom.Load(textBox1.Text);
    
                // SECTION 2. Initialize the TreeView control.
                treeView1.Nodes.Clear();
                treeView1.Nodes.Add(new TreeNode(dom.DocumentElement.Name));
                TreeNode tNode = new TreeNode();
                tNode = treeView1.Nodes[0];
    
                // SECTION 3. Populate the TreeView with the DOM nodes.
                AddNode(dom.DocumentElement, tNode);
                treeView1.ExpandAll();
             }
             catch(XmlException xmlEx)
             {
                MessageBox.Show(xmlEx.Message);
             }
             catch(Exception ex)
             {
                MessageBox.Show(ex.Message);
             }
    					
  7. Následující ukázkový kód po vložení Button1_Click událost:
          private void AddNode(XmlNode inXmlNode, TreeNode inTreeNode)
          {
             XmlNode xNode;
             TreeNode tNode;
             XmlNodeList nodeList;
             int i;
    
             // Loop through the XML nodes until the leaf is reached.
             // Add the nodes to the TreeView during the looping process.
             if (inXmlNode.HasChildNodes)
             {
                nodeList = inXmlNode.ChildNodes;
                for(i = 0; i<=nodeList.Count - 1; i++)
                {
                   xNode = inXmlNode.ChildNodes[i];
                   inTreeNode.Nodes.Add(new TreeNode(xNode.Name));
                   tNode = inTreeNode.Nodes[i];
                   AddNode(xNode, tNode);
                }
             }
             else
             {
                // Here you need to pull the data from the XmlNode based on the
                // type of node, whether attribute values are required, and so forth.
                inTreeNode.Text = (inXmlNode.OuterXml).Trim();
             }
          }                  
       }
    }
    					
  8. Stisknutím klávesy F5 sestavit a spustit aplikaci. Zkontrolujte, zda Cesta k souboru XML je správná a klepněte tlačítko. XML data, zobrazí se v Prvek TreeView ovládací prvek.
Poznámka: Zdroj může být soubor, adresy URL nebo data XML. Viz "Odkazy"Další informace o použití Třída XmlDocument načíst XML data z různých zdrojů.

Kroky k naplnění ovládacího prvku TreeView požadovaná data

Předchozí ukázka kódu mapuje stromu data XML přímo do Prvek TreeView a zobrazí všechna data. Alternativně můžete přidat další informace o zobrazení nebo přeskočit nežádoucí data.

V mnoha případech můžete chtít zobrazit pouze část dat XML. Část dat, Chcete-li zobrazit může být dynamicky vyrobeno, výsledek rozšiřitelný Transformace Stylesheet Language (XSL), nebo v důsledku pro dotaz jazyka XPath. To sekce popisuje, jak vytvořit nový dokument XML s pouze požadované uzly a potom přidejte nový dokument Prvek TreeView ovládací prvek.

Například načíst následující kroky pouze podřízené prvky originial dat XML pomocí dotazu XPath a pak přidejte nový uzel do seznamu Prvek TreeView.
  1. Vložit těsně před následujícího kódu TreeView1.ExpandAll řádek v předchozí ukázce:
                // SECTION 4. Create a new TreeView Node with only the child nodes.
                XmlNodeList nodelist = dom.SelectNodes("//child");
                XmlDocument cDom = new XmlDocument();
                cDom.LoadXml("<children></children>");
                foreach(XmlNode node in nodelist)
                {
                   XmlNode newElem = cDom.CreateNode(XmlNodeType.Element, node.Name, node.LocalName);
                   newElem.InnerText = node.InnerText;
                   cDom.DocumentElement.AppendChild(newElem);
                }
             
                treeView1.Nodes.Add(new TreeNode(cDom.DocumentElement.Name));
                tNode = treeView1.Nodes[1];
                AddNode(cDom.DocumentElement, tNode);
    					
  2. Vytvořte a spusťte aplikaci. Tato aplikace by měla. zobrazit nový kořenový uzel "děti" v Prvek TreeView vedle původní data.

ODKAZY

Další informace získáte klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
313651Cestovní mapy XML v.NET Framework
Další informace naleznete na následujících webech společnosti Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/System.XML (vs.71) .aspx

http://msdn2.microsoft.com/en-us/XML/default.aspx

Vlastnosti

ID článku: 317597 - Poslední aktualizace: 19. května 2011 - Revize: 6.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.0
Klíčová slova: 
kbbcl kbctrl kbhowtomaster kbwindowsforms kbmt KB317597 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:317597

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com