Cara mengisi TreeView kontrol dengan data XML dalam Visual C# 2005 atau dalam Visual C#.NET

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 317597 - Melihat produk di mana artikel ini berlaku.
Untuk Microsoft Visual Basic.NET versi artikel ini, lihat 308063.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Ini langkah-langkah artikel oleh menjelaskan cara untuk mengisi TreeView kontrol dengan menggunakan data Extensible Markup Language (XML) di Microsoft Visual C# 2005 atau di Microsoft Visual C#.NET. Karena kedua XML dan TreeView kontrol mewakili data dalam format hierarki, TreeView kontrol adalah pilihan alami untuk menampilkan XML data.

The TreeView kontrol telah Node Koleksi dengan akar TreeNode objek. Setiap TreeNode pada gilirannya telah sendiri Node Koleksi yang memegang lebih dari satu anak TreeNode.

Catatan Sampel ini menggunakan Document Object Model (DOM) parsing kelas dari.NET untuk proses XML.

Untuk informasi lebih lanjut tentang desain XML dalam.NET Framework, lihat "Referensi"bagian.

Persyaratan

Daftar berikut menguraikan fitur perangkat keras, perangkat lunak, jaringan infrastruktur, dan paket layanan yang Anda butuhkan:
  • Microsoft Windows XP, Microsoft Windows 2000, atau Microsoft Windows NT 4.0 Paket Layanan 6a
  • Microsoft Data akses komponen 2.6 (MDAC) atau kemudian
  • Microsoft Visual Studio 2005 atau Microsoft Visual Studio.NET
Artikel ini mengasumsikan bahwa Anda sudah familiar dengan topik-topik berikut:
  • Visual C# 2005 sintaks atau Visual C#.Sintaks bersih
  • XML dan standar-standar terkait
  • Windows Forms

Langkah-langkah untuk membuat dan TreeView Control dengan XML

  1. Paste kode contoh XML berikut dalam file teks baru bernama "Sample.xml". File ini adalah contoh XML data untuk contoh ini:
    <?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. Membuat aplikasi berbasis Windows baru dalam Visual C# 2005 atau dalam Visual C#.NET. Form1 ditambahkan ke aplikasi secara default.
  3. Tarik baru TreeView, Tombol, Label, dan TextBox kontrol ke Form1.
  4. Menambahkan kode contoh berikut pada akhir menggunakan arahan bagian dalam Form1.cs:
    using System.Xml;
    					
  5. Paste kode contoh berikut ini ke Form1_Load acara:
          
             // 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. Paste kode berikut ke Button1_Click acara:
             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. Paste kode contoh berikut setelah Button1_Click acara:
          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. Tekan F5 untuk membangun dan menjalankan aplikasi. Pastikan bahwa XML file path benar dan kemudian klik tombol. XML data yang akan muncul di TreeView kontrol.
Catatan Sumber bisa file, URL atau arus XML. Lihat "Referensi"bagian untuk informasi tentang penggunaan XmlDocument kelas untuk memuat XML data dari berbagai sumber daya.

Langkah-langkah untuk mengisi TreeView Control dengan data yang diperlukan

Contoh kode sebelumnya peta pohon XML data langsung ke TreeView dan menampilkan semua data. Atau, Anda dapat menambahkan ekstra informasi untuk menampilkan atau melompat tidak diinginkan data.

Dalam banyak kasus, Anda mungkin ingin menampilkan hanya bagian dari XML data. Bagian dari data yang Anda ingin menampilkan Mei menjadi dinamis dibangun, hasil dari Extensible Transformasi Stylesheet Language (XSL), atau hasil dari permintaan XPath. Ini bab menjelaskan bagaimana membangun dokumen XML baru dengan hanya diperlukan node Kemudian tambahkan dokumen baru untuk TreeView kontrol.

Sebagai contoh, mengambil langkah-langkah berikut hanya elemen anak originial XML data dengan menggunakan XPath permintaan, dan Kemudian tambahkan daftar ini sebagai suatu node baru untuk TreeView.
  1. Paste kode berikut sebelum TreeView1.ExpandAll baris dalam contoh sebelumnya:
                // 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. Membangun dan kemudian menjalankan aplikasi. Aplikasi ini harus menampilkan baru "anak" akar di TreeView Selain untuk data asli.

REFERENSI

Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
313651Peta jalan untuk XML di.NET Framework
Untuk informasi lebih lanjut, kunjungi situs Web Microsoft Developer Network (MSDN) berikut:
.aspx http://msdn2.Microsoft.com/en-us/library/System.XML (vs.71)

http://msdn2.Microsoft.com/en-US/XML/default.aspx

Properti

ID Artikel: 317597 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0
Berlaku bagi:
  • 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
Kata kunci: 
kbbcl kbctrl kbhowtomaster kbwindowsforms kbmt KB317597 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:317597

Berikan Masukan

 

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