TreeView denetimini Visual C# .NET veya Visual C# 2005'te xml verileriyle doldurmak için nasıl

Makale çevirileri Makale çevirileri
Makale numarası: 317597 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makalenin Microsoft Visual Basic .NET sürümü için bkz: 308063.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu adım adım makalede, Microsoft Visual C# 2005 ya da Microsoft Visual Genişletilebilir Biçimlendirme Dili (xml) veri kullanarak bir TreeView denetimi doldurmak üzere açıklamaktadır C# .NET. Hem xml hem de TreeView denetimi verileri hiyerarşik bir biçimde temsil ettiği için TreeView denetimi xml verilerini görüntülemek için doğal bir seçimdir.

TreeView denetiminin Nodes koleksiyonu ile kök TreeNode nesneler vardır. Her bir TreeNode sırayla birden fazla alt TreeNodetutan, kendi topluluğu bulunmaktadır.

Not Bu örnek sınıflar ayrıştırma belge nesnesi modeli (dom) kullanır. XML'yi işlemek için .NET.

XML tasarımı hakkında daha fazla bilgi .net Framework, bkz: "Başvurular" bölümüne gidin.

Gereksinimleri

Aşağıdaki listede önerilen donanım, yazılım, ağ altyapısı ve gereken hizmet paketleri önerilmektedir:
  • Microsoft Windows xp, Microsoft Windows 2000 veya Microsoft Windows NT 4.0 Service Pack 6a
  • Microsoft Data Access Components (mdac) 2.6 veya Daha sonra
  • Microsoft Visual Studio 2005 veya Microsoft Visual Studio .NET
Bu makalede, aşağıdaki konularda bilgi sahibi olduğunuz varsayılmaktadır:
  • Visual C# 2005 sözdizimi veya Visual C# .NET sözdizimi
  • xml ve ilgili standartlar
  • Windows Forms

Oluşturmak ve xml ile TreeView denetimini doldurmak için adımlar

  1. Aşağıdaki xml örnek kodu yeni bir metin dosyasına yapıştırın. "Örnek.xml" adlı. Bu dosya bu örnekte örnek xml verileridir:
    <?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. Yeni bir Windows tabanlı uygulamayı Visual C# .NET veya Visual C# 2005'te oluşturun. Form1 uygulama için varsayılan olarak eklenir.
  3. Form1'e yeni TreeView, Düğme, Labelve TextBox denetimleri sürükleyin.
  4. Sonunda Form1.cs kullanma yönergeleri bölümünde, aşağıdaki örnek kodu ekleyin:
    using System.Xml;
    					
  5. Aşağıdaki örnek kodu Form1_Load olay yapıştırın:
          
             // 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. Aşağıdaki kodu Button1_Click olay yapıştırın:
             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. Aşağıdaki örnek kodu Button1_Click olayından sonra yapıştırın:
          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. Yapı ve uygulamayı çalıştırmak için F5 tuşuna basın. Emin olun xml dosya yolunun doğru olduğundan ve sonra düğmesinitıklatın. xml verileri TreeView denetiminde görüntülenmelidir.
Not Kaynak dosya, bir url veya bir xml akışı olabilir. Bkz. "Başvurular"Bölüm kullanma hakkında bilgi için xml verilerini farklı kaynaklardan yüklemek için XmlDocument sınıfı.

TreeView denetimini gereken verilerle doldurma adımları

Yukarıdaki örnek kod, xml ağacı verilerini doğrudan eşlemeleri TreeView ve tüm verileri görüntüler. Alternatif olarak, ekstra ekleyebilirsiniz bilgi görüntüle ya da Atla veri istenmeyen.

Çoğu durumda, xml verilerinin yalnızca bir bölümünü görüntülemek isteyebilirsiniz. Veri bölümü, Mayıs görüntülemek istediğiniz dinamik olarak oluşturulmuş bir Extensible sonucu Stil Sayfası Dili (xsl) dönüştürme veya XPath sorgusunun sonucu. Bu bölüm yeni bir xml belgesinin yalnızca gereken düğümlerle nasıl açıklar. ve sonra yeni belge için TreeView denetimi ekleyin.

Örneğin, aşağıdaki adımları almak XPath sorguları kullanarak alınmakta xml verilerinin yalnızca alt öğeleri ve Daha sonra bu listeye yeni bir düğüm olarak TreeViewdenetimine ekleyin.
  1. Aşağıdaki koda hemen önce yukarıdaki örnekteki TreeView1.ExpandAll satır Yapıştır:
                // 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. Yapı ve uygulamayı çalıştırın. Bu uygulama gerekir. TreeView özgün verilerin yanı sıra yeni bir "children" kök düğümü görüntüler.

BAŞVURULAR

Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
313651.net Framework'te xml için Yol Haritası
Daha fazla bilgi için aşağıdaki Microsoft Developer Network (msdn) Web sitelerini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/System.XML (vs.71) .aspx

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

Özellikler

Makale numarası: 317597 - Last Review: 29 Kasım 2012 Perşembe - Gözden geçirme: 6.0
Bu makaledeki bilginin uygulandığı durum:
  • 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
Anahtar Kelimeler: 
kbbcl kbctrl kbhowtomaster kbwindowsforms kbmt KB317597 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 317597

Geri Bildirim Ver

 

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