TreeView コントロールで XML データの Visual C# 2005年で Visual C# を設定するには、[方法] をクリックします。NET

文書翻訳 文書翻訳
文書番号: 317597
マイクロソフトの Visual Basic では。この資料のバージョンを NET を参照してください。 308063.
すべて展開する | すべて折りたたむ

目次

概要

ステップでステップを作成する方法について説明します、 ツリー ビュー Microsoft Visual C# 2005 または Microsoft Visual 拡張マークアップ言語 (XML) データを使用して制御します。C#。NET。両方の XML とは ツリー ビュー コントロールは、階層形式でデータを表す、 ツリー ビュー コントロールは、XML データを表示するのには、自然な選択です。

は、 ツリー ビュー コントロールが、 ノード コレクション ルート ツリー ノード オブジェクト。各 ツリー ノード 次にされました。 ノード 1 つ以上の子を保持するコレクション ツリー ノード.

メモ このサンプルは、ドキュメント オブジェクト モデル (クラスを解析します。 DOM) を使用してください。。NET の XML を処理します。

XML のデザインについてはします。NET Framework を参照してください、"参照」に記載します。

要件

推奨されるハードウェア、ソフトウェア、ネットワーク インフラストラクチャ、および必要な service pack を以下に示します。
  • Microsoft Windows XP、Microsoft Windows 2000、または MicrosoftWindows NT 4.0 Service Pack 6a
  • Microsoft データ アクセス コンポーネント (MDAC) の 2.6 または後で
  • Microsoft Visual Studio 2005年や Microsoft Visual Studio。NET
この資料では、次のトピックに精通しているを前提としています。
  • Visual C# 2005年構文または Visual C#。NET の構文
  • 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 C# 2005年またはの Visual C# を作成します。NET。Form1 がデフォルトで追加されます。
  3. 新しいドラッグ ツリー ビュー, ボタン, ラベル、、 テキスト ボックス form1 コントロール。
  4. 次のサンプル コードの最後に追加する、 ここで 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 データを表示する必要があります、 ツリー ビュー コントロールです。
メモ リソース、ファイル、URL または XML ストリーム可能性があります。参照してください。"参照"を使用しての詳細については、XmlDocument クラスを使用してさまざまなリソースから XML データを読み込むにします。

TreeView コントロールに必要なデータを入力するための手順

前述のサンプル コードでは、直接 XML ツリー データをマップの ツリー ビュー すべてのデータを表示します。また、余分な追加できます。不要なデータの情報を表示またはスキップします。

多くの場合、XML データの一部のみを表示することができます。データの一部は、月の表示を動的に構築された結果、拡張性に優れたスタイル シート言語 (XSL) 変換または XPath クエリの結果。これ必要なノードのみを新しい XML ドキュメントを作成する方法を説明します。新しいドキュメントを追加、 ツリー ビュー コントロールです。

たとえば、次の手順を取得します。XPath クエリを使用して、originial の XML データの子要素は、このリストを新しいノードに追加、 ツリー ビュー.
  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. ビルドして、アプリケーションを実行します。このアプリケーションする必要があります。新しい「子供」ルート ノードの表示、 ツリー ビュー 元データのほかに。

参照

詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
313651XML でのロードマップをします。NET Framework
詳細については、次のマイクロソフト開発ネットワーク (MSDN) Web サイトを参照してください。
.aspx の http://msdn2.microsoft.com/en-us/library/system.xml (vs.71)

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

プロパティ

文書番号: 317597 - 最終更新日: 2011年7月25日 - リビジョン: 6.0
キーワード:?
kbhowtomaster kbbcl kbwindowsforms kbctrl kbmt KB317597 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:317597
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

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