トップページ ソースコードライブラリ Borland C++ Compiler 5.5
TreeViewにXMLの要素を表示する
System.Xml.Linq.XDocumentを利用してXMLファイルをロードし、その内容をWindowsフォームのTreeViewに表示する方法を紹介しています。
サンプルコード
  1. using System;
  2. using System.Windows.Forms;
  3. using System.Xml.Linq;
  4. .
  5. .
  6. .
  7. // trvProfile : TreeView
  8. // ロード時に呼び出されるメソッド
  9. private void MainForm_Load(object sender, EventArgs e)
  10. {
  11. // 1-1 XMLファイルをロード
  12. XDocument doc = XDocument.Load("Sample.xml");
  13.  
  14. // 1-2 ListViewにXMLの要素を追加
  15. trvProfile.Nodes.Add(CreateTreeNode(doc.Root));
  16. }
  17. // XMLファイルを再帰的に走査し、TreeNodeを返すメソッド
  18. private TreeNode CreateTreeNode(XElement elCurr)
  19. {
  20. // 2-1 パラメータで渡されたXML要素の名前を元にノードを作成
  21. TreeNode tnCurr = new TreeNode(elCurr.Name.ToString());
  22. // 2-2 パラメータで渡されたXML要素が子要素を持つ場合は配下を走査
  23. if(elCurr.HasElements)
  24. {
  25. foreach (var elChild in elCurr.Elements())
  26. {
  27. // 2-3 子要素に対して再帰的に処理し、2-1で作成したノードに追加
  28. tnCurr.Nodes.Add(CreateTreeNode(elChild));
  29. }
  30. }
  31. return tnCurr;
  32. }

概要

Windows フォーム アプリケーションで、TreeViewにXMLの内容を表示するサンプルコードです。

このサンプルではXMLの処理にSystem.Xml.Linq.XDocumentを利用しています。

まずは、XMLの扱いから。

XDocument.Load()でファイルからXMLをロードします。

XMLのルート要素にアクセスするにはdoc.Rootを用います。

XMLの子要素にアクセスするにはXElement.Elements()を利用し、foreachにて各要素を反復します。

続いてTreeViewの扱いについて。

各要素はTreeNodeを用います。子要素を追加するにはTreeNode.Nodes.Add(TreeNode)を利用します。 最後にTreeView.NodesにXMLから生成したTreeNodeAddして終了です。

ナビゲーション
プログラミングは道連れ
ソースコードライブラリ
C#
外部プログラムの実行
ファイル情報の取得
ListViewの選択されたアイテムを削除する
現在のWindowsアカウントを表示する
DataTableを使ったSQLServerからのレコード取得
テキストファイルを書き込む
文字列の分割・連結を行うSplitとJoinを使ってみる
実行中プロセスのファイルパスを取得する
ウィンドウを閉じる際に確認ダイアログを表示する
ジェネリックのListを使う
トップページ ソースコードライブラリ Borland C++ Compiler 5.5