วิธีการเติมข้อมูลตัวควบคุม TreeView กับข้อมูล XML ใน Visual 2005 c# หรือ Visual .NET c#

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 317597 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
สำหรับรุ่น Microsoft Visual Basic .NET ของบทความนี้ ดู308063.
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

ขั้นตอนโดยขั้นตอนที่บทความนี้วิธีการเติมข้อมูลเป็นTreeViewควบคุม โดยใช้ข้อมูล Extensible Markup ภาษา (XML) ใน Microsoft Visual c# 2005 หรือ Microsoft Visual c# .NET เนื่องจาก XML ทั้งสอง และฟิลด์TreeViewควบคุมแสดงข้อมูลในรูปแบบตามลำดับชั้นTreeViewตัวควบคุมเป็นทางเลือกเป็นธรรมชาติเพื่อแสดงข้อมูล XML

กระบวนการTreeViewตัวควบคุมได้โหนดคอลเลกชัน มีรากTreeNodeวัตถุ แต่ละTreeNodeในกลับได้เป็นของตนเองโหนดคอลเลกชันที่มีลูกมากกว่าหนึ่งTreeNode.

หมายเหตุ:ตัวอย่างนี้ใช้ในเอกสารวัตถุแบบจำลอง (DOM) การแยกวิเคราะห์คลาสที่ของ.NET เพื่อประมวลผล XML

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการออกแบบของ XML ใน.NET Framework ให้ดู "อ้างอิง:"ส่วน

ความต้องการ

รายการต่อไปนี้แสดงฮาร์ดแวร์ที่แนะนำ ซอฟต์แวร์ โครงสร้างพื้นฐานของเครือข่าย และ service pack ที่คุณต้องการ:
  • Microsoft Windows XP, Microsoft Windows 2000 หรือ Microsoft Windows NT 4.0 Service Pack 6a
  • Microsoft Data Access คอมโพเนนต์ 2.6 (MDAC) หรือในภายหลัง
  • Microsoft Visual Studio 2005 หรือ Microsoft Visual Studio .NET
บทความนี้อนุมานว่า คุณไม่คุ้นเคยกับหัวข้อต่อไปนี้:
  • ไวยากรณ์ของ c# 2005 เสมือนหรือไวยากรณ์ Visual .NET c#
  • xml และมาตรฐานที่เกี่ยวข้อง
  • แบบฟอร์ม windows

ขั้นตอนในการสร้าง และการเติมข้อมูลตัวควบคุม TreeView กับ XML

  1. วางตัวอย่างรหัสต่อไปนี้ของ XML ในแฟ้มข้อความใหม่ที่ชื่อ "Sample.xml" แฟ้มนี้มีข้อมูล XML ตัวอย่างตัวอย่างนี้:
    <?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. สร้างโปรแกรมประยุกต์ใหม่ที่ใช้ Windows ใน Visual 2005 c# หรือ Visual .NET c# form1 ถูกเพิ่มเข้าไปยังโปรแกรมประยุกต์ โดยค่าเริ่มต้น
  3. ลากใหม่TreeView,ปุ่ม,ป้ายชื่อและกล่องข้อความตัวควบคุมลงใน Form1
  4. เพิ่มตัวอย่างรหัสต่อไปนี้ในตอนท้ายของการใช้ส่วน directives ใน Form1.cs:
    using System.Xml;
    					
  5. ตัวอย่างรหัสต่อไปนี้ลงในการวางForm1_Loadเหตุการณ์:
          
             // 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. วางรหัสต่อไปนี้ลงในButton1_Clickเหตุการณ์:
             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. วางตัวอย่างรหัสต่อไปนี้หลังจากButton1_Clickเหตุการณ์:
          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. กด F5 เพื่อสร้าง และเรียกใช้โปรแกรมประยุกต์ ตรวจสอบให้แน่ใจว่า เส้นทางของแฟ้ม XML ไม่ถูกต้อง และจากนั้น คลิกการปุ่ม. ข้อมูล XML ควรปรากฏขึ้นในการTreeViewตัวควบคุม
หมายเหตุ:ทรัพยากรอาจเป็นแฟ้ม URL หรือเป็นกระแสข้อมูล XML ดู "อ้างอิง:"ส่วนสำหรับข้อมูลเกี่ยวกับการใช้คลา XmlDocument โหลดข้อมูล XML จากทรัพยากรที่แตกต่างกัน

ขั้นตอนต่าง ๆ เพื่อเติมข้อมูลตัวควบคุม TreeView กับข้อมูลที่จำเป็น

ตัวอย่างรหัสก่อนหน้าแมปข้อมูลแผนภูมิ XML โดยตรงไปTreeViewและแสดงข้อมูลทั้งหมด อีกวิธีหนึ่งคือ คุณสามารถเพิ่มข้อมูลเพิ่มเติมในการแสดงผล หรือข้ามข้อมูลที่ไม่พึงประสงค์

ในหลายกรณี คุณอาจต้องการที่แสดงเฉพาะบางส่วนของข้อมูล XML ส่วนของข้อมูลที่คุณต้องการแสดงผลอาจเป็นแบบไดนามิกสร้าง ผลลัพธ์ของการแปลงภาษาสไตล์ชี Extensible (XSL) หรือผลลัพธ์ของการสอบถาม XPath ได้ ส่วนนี้อธิบายวิธี การสร้างเอกสาร XML ใหม่กับโหนที่จำเป็นเท่านั้นแล้ว เพิ่มเอกสารใหม่ไปยังTreeViewตัวควบคุม

ตัวอย่างเช่น ขั้นตอนต่อไปนี้เรียกองค์ประกอบเฉพาะลูกต่าง ๆ ของข้อมูล XML originial โดยใช้แบบสอบถาม XPath แล้ว เพิ่มรายการนี้เป็นโหนดใหม่ไปยังTreeView.
  1. วางต่อรหัสอยู่ก่อนTreeView1.ExpandAllบรรทัดในตัวอย่างก่อนหน้านี้:
                // 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. สร้าง และเรียกใช้โปรแกรมประยุกต์ โปรแกรมประยุกต์นี้ควรแสดงโหนดราก "เด็ก" ที่ใหม่ในการTreeViewนอกเหนือจากการข้อมูลต้นฉบับ

อ้างอิง:

สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
313651ผังสำหรับ XML ใน.NET Framework
สำหรับข้อมูลเพิ่มเติม โปรดไปที่เว็บไซต์ของ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:
.aspx http://msdn2.microsoft.com/en-us/library/system.xml (vs.71)

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

คุณสมบัติ

หมายเลขบทความ (Article ID): 317597 - รีวิวครั้งสุดท้าย: 13 มกราคม 2554 - Revision: 5.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
Keywords: 
kbbcl kbctrl kbhowtomaster kbwindowsforms kbmt KB317597 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:317597

ให้ข้อเสนอแนะ

 

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