<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FXML%2FXml_Tree</id>
		<title>Csharp/CSharp Tutorial/XML/Xml Tree - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FXML%2FXml_Tree"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/XML/Xml_Tree&amp;action=history"/>
		<updated>2026-04-30T00:14:46Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/XML/Xml_Tree&amp;diff=5846&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/XML/Xml_Tree&amp;diff=5846&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:53Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/XML/Xml_Tree&amp;diff=5847&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/XML/Xml_Tree&amp;diff=5847&amp;oldid=prev"/>
				<updated>2010-05-26T12:17:31Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Display XML Tree==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
using System.IO;&lt;br /&gt;
&lt;br /&gt;
public partial class XmlTreeDisplay : Form&lt;br /&gt;
{&lt;br /&gt;
    public XmlTreeDisplay()&lt;br /&gt;
    {&lt;br /&gt;
        InitializeComponent();&lt;br /&gt;
    }&lt;br /&gt;
    private void XmlTreeDisplay_Load(object sender, EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
        txtXmlFile.Text = Path.rubine(Application.StartupPath, @&amp;quot;test.xml&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    private void cmdLoad_Click(object sender, System.EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
        treeXml.Nodes.Clear();&lt;br /&gt;
        XmlDocument doc = new XmlDocument();&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            doc.Load(txtXmlFile.Text);&lt;br /&gt;
        }&lt;br /&gt;
        catch (Exception err)&lt;br /&gt;
        {&lt;br /&gt;
            MessageBox.Show(err.Message);&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
        ConvertXmlNodeToTreeNode(doc, treeXml.Nodes);&lt;br /&gt;
        treeXml.Nodes[0].ExpandAll();&lt;br /&gt;
    }&lt;br /&gt;
    private void ConvertXmlNodeToTreeNode(XmlNode xmlNode, TreeNodeCollection treeNodes)&lt;br /&gt;
    {&lt;br /&gt;
        // Add a TreeNode node that represents this XmlNode.&lt;br /&gt;
        TreeNode newTreeNode = treeNodes.Add(xmlNode.Name);&lt;br /&gt;
        // Customize the TreeNode text based on the XmlNode&lt;br /&gt;
        // type and content.&lt;br /&gt;
        switch (xmlNode.NodeType)&lt;br /&gt;
        {&lt;br /&gt;
            case XmlNodeType.ProcessingInstruction:&lt;br /&gt;
            case XmlNodeType.XmlDeclaration:&lt;br /&gt;
                newTreeNode.Text = &amp;quot;&amp;lt;?&amp;quot; + xmlNode.Name + &amp;quot; &amp;quot; + xmlNode.Value + &amp;quot;?&amp;gt;&amp;quot;;&lt;br /&gt;
                break;&lt;br /&gt;
            case XmlNodeType.Element:&lt;br /&gt;
                newTreeNode.Text = &amp;quot;&amp;lt;&amp;quot; + xmlNode.Name + &amp;quot;&amp;gt;&amp;quot;;&lt;br /&gt;
                break;&lt;br /&gt;
            case XmlNodeType.Attribute:&lt;br /&gt;
                newTreeNode.Text = &amp;quot;ATTRIBUTE: &amp;quot; + xmlNode.Name;&lt;br /&gt;
                break;&lt;br /&gt;
            case XmlNodeType.Text:&lt;br /&gt;
            case XmlNodeType.CDATA:&lt;br /&gt;
                newTreeNode.Text = xmlNode.Value;&lt;br /&gt;
                break;&lt;br /&gt;
            case XmlNodeType.rument:&lt;br /&gt;
                newTreeNode.Text = &amp;quot;&amp;lt;!--&amp;quot; + xmlNode.Value + &amp;quot;--&amp;gt;&amp;quot;;&lt;br /&gt;
                break;&lt;br /&gt;
        }&lt;br /&gt;
        if (xmlNode.Attributes != null)&lt;br /&gt;
        {&lt;br /&gt;
            foreach (XmlAttribute attribute in xmlNode.Attributes)&lt;br /&gt;
            {&lt;br /&gt;
                ConvertXmlNodeToTreeNode(attribute, newTreeNode.Nodes);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        foreach (XmlNode childNode in xmlNode.ChildNodes)&lt;br /&gt;
        {&lt;br /&gt;
            ConvertXmlNodeToTreeNode(childNode, newTreeNode.Nodes);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
partial class XmlTreeDisplay&lt;br /&gt;
{&lt;br /&gt;
    private System.ruponentModel.IContainer components = null;&lt;br /&gt;
    protected override void Dispose(bool disposing)&lt;br /&gt;
    {&lt;br /&gt;
        if (disposing &amp;amp;&amp;amp; (components != null))&lt;br /&gt;
        {&lt;br /&gt;
            components.Dispose();&lt;br /&gt;
        }&lt;br /&gt;
        base.Dispose(disposing);&lt;br /&gt;
    }&lt;br /&gt;
    #region Windows Form Designer generated code&lt;br /&gt;
    private void InitializeComponent()&lt;br /&gt;
    {&lt;br /&gt;
        this.label1 = new System.Windows.Forms.Label();&lt;br /&gt;
        this.cmdLoad = new System.Windows.Forms.Button();&lt;br /&gt;
        this.txtXmlFile = new System.Windows.Forms.TextBox();&lt;br /&gt;
        this.treeXml = new System.Windows.Forms.TreeView();&lt;br /&gt;
        this.SuspendLayout();&lt;br /&gt;
        // &lt;br /&gt;
        // label1&lt;br /&gt;
        // &lt;br /&gt;
        this.label1.Location = new System.Drawing.Point(9, 11);&lt;br /&gt;
        this.label1.Name = &amp;quot;label1&amp;quot;;&lt;br /&gt;
        this.label1.Size = new System.Drawing.Size(28, 16);&lt;br /&gt;
        this.label1.TabIndex = 7;&lt;br /&gt;
        this.label1.Text = &amp;quot;File:&amp;quot;;&lt;br /&gt;
        // &lt;br /&gt;
        // cmdLoad&lt;br /&gt;
        // &lt;br /&gt;
        this.cmdLoad.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));&lt;br /&gt;
        this.cmdLoad.Location = new System.Drawing.Point(514, 5);&lt;br /&gt;
        this.cmdLoad.Name = &amp;quot;cmdLoad&amp;quot;;&lt;br /&gt;
        this.cmdLoad.Size = new System.Drawing.Size(56, 24);&lt;br /&gt;
        this.cmdLoad.TabIndex = 6;&lt;br /&gt;
        this.cmdLoad.Text = &amp;quot;Load&amp;quot;;&lt;br /&gt;
        this.cmdLoad.Click += new System.EventHandler(this.cmdLoad_Click);&lt;br /&gt;
        // &lt;br /&gt;
        // txtXmlFile&lt;br /&gt;
        // &lt;br /&gt;
        this.txtXmlFile.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)&lt;br /&gt;
                    | System.Windows.Forms.AnchorStyles.Right)));&lt;br /&gt;
        this.txtXmlFile.Location = new System.Drawing.Point(41, 8);&lt;br /&gt;
        this.txtXmlFile.Name = &amp;quot;txtXmlFile&amp;quot;;&lt;br /&gt;
        this.txtXmlFile.Size = new System.Drawing.Size(468, 21);&lt;br /&gt;
        this.txtXmlFile.TabIndex = 5;&lt;br /&gt;
        // &lt;br /&gt;
        // treeXml&lt;br /&gt;
        // &lt;br /&gt;
        this.treeXml.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)&lt;br /&gt;
                    | System.Windows.Forms.AnchorStyles.Left)&lt;br /&gt;
                    | System.Windows.Forms.AnchorStyles.Right)));&lt;br /&gt;
        this.treeXml.Location = new System.Drawing.Point(5, 37);&lt;br /&gt;
        this.treeXml.Name = &amp;quot;treeXml&amp;quot;;&lt;br /&gt;
        this.treeXml.Size = new System.Drawing.Size(566, 264);&lt;br /&gt;
        this.treeXml.TabIndex = 4;&lt;br /&gt;
        // &lt;br /&gt;
        // XmlTreeDisplay&lt;br /&gt;
        // &lt;br /&gt;
        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);&lt;br /&gt;
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;&lt;br /&gt;
        this.ClientSize = new System.Drawing.Size(583, 314);&lt;br /&gt;
        this.Controls.Add(this.label1);&lt;br /&gt;
        this.Controls.Add(this.cmdLoad);&lt;br /&gt;
        this.Controls.Add(this.txtXmlFile);&lt;br /&gt;
        this.Controls.Add(this.treeXml);&lt;br /&gt;
        this.Font = new System.Drawing.Font(&amp;quot;Tahoma&amp;quot;, 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));&lt;br /&gt;
        this.Name = &amp;quot;XmlTreeDisplay&amp;quot;;&lt;br /&gt;
        this.Text = &amp;quot;XmlTreeDisplay&amp;quot;;&lt;br /&gt;
        this.Load += new System.EventHandler(this.XmlTreeDisplay_Load);&lt;br /&gt;
        this.ResumeLayout(false);&lt;br /&gt;
        this.PerformLayout();&lt;br /&gt;
    }&lt;br /&gt;
    #endregion&lt;br /&gt;
    private System.Windows.Forms.Label label1;&lt;br /&gt;
    private System.Windows.Forms.Button cmdLoad;&lt;br /&gt;
    private System.Windows.Forms.TextBox txtXmlFile;&lt;br /&gt;
    private System.Windows.Forms.TreeView treeXml;&lt;br /&gt;
}&lt;br /&gt;
static class Program&lt;br /&gt;
{&lt;br /&gt;
  /// &amp;lt;summary&amp;gt;&lt;br /&gt;
  /// The main entry point for the application.&lt;br /&gt;
  /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
  [STAThread]&lt;br /&gt;
  static void Main()&lt;br /&gt;
  {&lt;br /&gt;
    Application.EnableVisualStyles();&lt;br /&gt;
    Application.Run(new XmlTreeDisplay());&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Load Xml to TreeView==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
    public class Form1 : Form&lt;br /&gt;
    {&lt;br /&gt;
        public Form1()&lt;br /&gt;
        {&lt;br /&gt;
            InitializeComponent();&lt;br /&gt;
        }&lt;br /&gt;
        private void button1_Click(object sender, EventArgs e)&lt;br /&gt;
        {&lt;br /&gt;
            XmlDocument doc = new XmlDocument();&lt;br /&gt;
            doc.Load(&amp;quot;employees.xml&amp;quot;);&lt;br /&gt;
            TreeNode root=new TreeNode(doc.DocumentElement.Name);&lt;br /&gt;
            treeView1.Nodes.Add(root);&lt;br /&gt;
            foreach (XmlNode node in doc.DocumentElement.ChildNodes)&lt;br /&gt;
            {&lt;br /&gt;
                TreeNode employee = new TreeNode(&amp;quot;Employee ID :&amp;quot; + node.Attributes[&amp;quot;employeeid&amp;quot;].Value);&lt;br /&gt;
                root.Nodes.Add(employee);&lt;br /&gt;
                if (node.HasChildNodes)&lt;br /&gt;
                {&lt;br /&gt;
                    foreach (XmlNode childnode in node.ChildNodes)&lt;br /&gt;
                    {&lt;br /&gt;
                        TreeNode n2 = new TreeNode(childnode.Name + &amp;quot; : &amp;quot;+ childnode.InnerText);&lt;br /&gt;
                        employee.Nodes.Add(n2);&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        private void InitializeComponent()&lt;br /&gt;
        {&lt;br /&gt;
            this.treeView1 = new System.Windows.Forms.TreeView();&lt;br /&gt;
            this.button1 = new System.Windows.Forms.Button();&lt;br /&gt;
            this.SuspendLayout();&lt;br /&gt;
            // &lt;br /&gt;
            // treeView1&lt;br /&gt;
            // &lt;br /&gt;
            this.treeView1.Dock = System.Windows.Forms.DockStyle.Top;&lt;br /&gt;
            this.treeView1.Location = new System.Drawing.Point(0, 0);&lt;br /&gt;
            this.treeView1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);&lt;br /&gt;
            this.treeView1.Name = &amp;quot;treeView1&amp;quot;;&lt;br /&gt;
            this.treeView1.Size = new System.Drawing.Size(389, 304);&lt;br /&gt;
            this.treeView1.TabIndex = 0;&lt;br /&gt;
            // &lt;br /&gt;
            // button1&lt;br /&gt;
            // &lt;br /&gt;
            this.button1.Location = new System.Drawing.Point(136, 320);&lt;br /&gt;
            this.button1.Name = &amp;quot;button1&amp;quot;;&lt;br /&gt;
            this.button1.Size = new System.Drawing.Size(104, 32);&lt;br /&gt;
            this.button1.TabIndex = 1;&lt;br /&gt;
            this.button1.Text = &amp;quot;Load Tree&amp;quot;;&lt;br /&gt;
            this.button1.UseVisualStyleBackColor = true;&lt;br /&gt;
            this.button1.Click += new System.EventHandler(this.button1_Click);&lt;br /&gt;
            // &lt;br /&gt;
            // Form1&lt;br /&gt;
            // &lt;br /&gt;
            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);&lt;br /&gt;
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;&lt;br /&gt;
            this.ClientSize = new System.Drawing.Size(389, 362);&lt;br /&gt;
            this.Controls.Add(this.button1);&lt;br /&gt;
            this.Controls.Add(this.treeView1);&lt;br /&gt;
            this.Font = new System.Drawing.Font(&amp;quot;Microsoft Sans Serif&amp;quot;, 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));&lt;br /&gt;
            this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);&lt;br /&gt;
            this.Name = &amp;quot;Form1&amp;quot;;&lt;br /&gt;
            this.Text = &amp;quot;Form1&amp;quot;;&lt;br /&gt;
            this.ResumeLayout(false);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private System.Windows.Forms.TreeView treeView1;&lt;br /&gt;
        private System.Windows.Forms.Button button1;&lt;br /&gt;
        [STAThread]&lt;br /&gt;
        static void Main()&lt;br /&gt;
        {&lt;br /&gt;
            Application.EnableVisualStyles();&lt;br /&gt;
            Application.SetCompatibleTextRenderingDefault(false);&lt;br /&gt;
            Application.Run(new Form1());&lt;br /&gt;
        }&lt;br /&gt;
    }&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>