Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Làm thế nào để cư trú một TreeView control với dữ liệu XML trong Visual C# 2005 hoặc trong Visual C#.NET

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:317597
Đối với một Microsoft Visual Basic.NET Phiên bản của bài viết này, xem 308063.
TÓM TẮT
Bước theo bước bài này mô tả làm thế nào để cư một TreeView kiểm soát bằng cách sử dụng dữ liệu Extensible Markup Language (XML) trong Microsoft Visual C# 2005 hoặc trong Microsoft Visual C#.NET. Bởi vì cả hai XML và các TreeView kiểm soát đại diện cho các dữ liệu trong một định dạng cấu trúc, các TreeView kiểm soát là một sự lựa chọn tự nhiên để hiển thị dữ liệu XML.

Các TreeView kiểm soát có một Các nút bộ sưu tập với gốc TreeNode các đối tượng. Mỗi TreeNode lần lượt có riêng của mình Các nút bộ sưu tập chứa nhiều hơn một đứa trẻ TreeNode.

Chú ý Mẫu này sử dụng Document Object Model (DOM) phân tích các lớp học của.NET để quá trình XML.

Để biết thêm về thiết kế của XML trong.NET Framework, xem các "Tham khảo"phần.

Yêu cầu

Danh sách sau vạch ra được đề nghị phần cứng, phần mềm, cơ sở hạ tầng mạng và gói dịch vụ mà bạn cần:
  • Microsoft Windows XP, Microsoft Windows 2000 hoặc Microsoft Windows NT 4.0 gói dịch vụ 6a
  • Dữ liệu Microsoft Access Components 2.6 (MDAC) hoặc sau này
  • Microsoft Visual Studio 2005 hoặc Microsoft Visual Studio.NET
Bài viết này giả định rằng bạn đã quen thuộc với các chủ đề sau:
  • Visual C# 2005 cú pháp hoặc Visual C#.NET cú pháp
  • XML và các tiêu chuẩn liên quan
  • Windows Forms

Các bước để tạo và cư TreeView Control với XML

  1. Dán sau đây, XML mẫu mã trong một tập tin văn bản mới đặt tên là "Sample.xml". Tập tin này là dữ liệu XML mẫu ví dụ này:
    <?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. Tạo một ứng dụng Windows trên mới trong Visual C# 2005 hoặc trong Visual C#.NET. Form1 sẽ được thêm vào các ứng dụng theo mặc định.
  3. Kéo mới TreeView, Nút, Nhãn hiệu, và TextBox điều khiển vào Form1.
  4. Thêm mẫu mã sau vào cuối các bằng cách sử dụng chỉ thị phần tại Form1.cs:
    using System.Xml;					
  5. Dán đoạn mã mẫu sau vào các Form1_Load sự kiệ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. Dán đoạn mã sau vào các Button1_Click sự kiệ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. Dán đoạn mã mẫu sau sau khi các Button1_Click sự kiệ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. Nhấn F5 để xây dựng và chạy các ứng dụng. Hãy chắc chắn rằng đường dẫn của tệp XML là chính xác và sau đó bấm các nút. Các dữ liệu XML sẽ xuất hiện trong các TreeView kiểm soát.
Chú ý Các nguồn tài nguyên có thể là một tập tin, một URL hoặc một dòng suối XML. Xem các"Tham khảo"phần dành cho thông tin về việc sử dụng các XmlDocument lớp để tải dữ liệu XML từ các nguồn lực khác nhau.

Các bước để cư trú các TreeView Control với dữ liệu yêu cầu

Mẫu mã trước bản đồ dữ liệu cây XML trực tiếp vào các TreeView và hiển thị tất cả các dữ liệu. Ngoài ra, bạn có thể thêm thêm thông tin để hiển thị hoặc bỏ qua không mong muốn dữ liệu.

Trong nhiều trường hợp, bạn có thể muốn hiển thị chỉ là một phần của dữ liệu XML. Các phần của các dữ liệu mà bạn muốn hiển thị tháng tự động xây dựng, kết quả của một Extensible Stylesheet ngôn ngữ (XSL) chuyển đổi, hoặc kết quả của một truy vấn XPath. Điều này phần mô tả làm thế nào để xây dựng một tài liệu XML mới với chỉ là các nút yêu cầu và sau đó thêm tài liệu mới để các TreeView kiểm soát.

Ví dụ, lấy các bước sau chỉ các yếu tố của con của dữ liệu XML originial bằng cách sử dụng truy vấn XPath, và sau đó thêm danh sách này là một nút mới để các TreeView.
  1. Dán sau mã chỉ trước khi các TreeView1.ExpandAll dây trong mẫu trước đó:
                // 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. Xây dựng và sau đó chạy các ứng dụng. Ứng dụng này nên hiển thị một "trẻ em" nút gốc mới trong các TreeView thêm vào dữ liệu gốc.

TÀI LIỆU THAM KHẢO

Để biết thêm thông tin, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
313651Lộ trình cho XML trong các.NET Framework
Để biết thêm chi tiết, hãy truy cập trang Web Microsoft Developer Network (MSDN) sau đây:

Cảnh báo: Bài viết này đã được dịch tự động

Thuộc tính

ID Bài viết: 317597 - Xem lại Lần cuối: 08/27/2011 20:06:00 - Bản sửa đổi: 2.0

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

  • kbbcl kbctrl kbhowtomaster kbwindowsforms kbmt KB317597 KbMtvi
Phản hồi
>