VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。
基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。
<< 前のTips 次のTips >>
XMLファイルをツリービューに表示したかったのでMakeTreeという関数を作成しました。この関数を使用すると、指定したXMLファイルの構造そのままをツリービューに表示することができます。
private void button1_Click(object sender, EventArgs e) { OpenFileDialog dlgOpen = new OpenFileDialog(); //ファイルを開くダイアログを表示する dlgOpen.Filter = "XMLファイル(*.xml)|*.xml"; if (dlgOpen.ShowDialog() == DialogResult.OK) { //XMLファイルを読み込む XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(dlgOpen.FileName); XmlElement xmlRoot = xmlDoc.DocumentElement; TreeNode trvRoot = new TreeNode(); //XMLをツリーノードに変換する treeView1.Nodes.Clear(); MakeTree(xmlRoot, ref trvRoot); //XMLをツリービューに変換したノードを追加する treeView1.Nodes.Add(trvRoot); } } /// <summary> /// XMLをツリーノードに変換する /// </summary> /// <param name="xmlParent">変化するXMLデータ</param> /// <param name="trvParent">変換されたツリーノード</param> private void MakeTree(System.Xml.XmlElement xmlParent, ref TreeNode trvParent) { if (xmlParent.HasChildNodes) { for (int i = 0; i < xmlParent.ChildNodes.Count; i++) { if (xmlParent.ChildNodes[i].GetType().ToString().IndexOf("XmlElement") >= 0) { XmlElement xmlChild = (XmlElement)xmlParent.ChildNodes[i]; TreeNode trvChild = new TreeNode(); trvChild.Text = xmlChild.Name; // 子ノードがまだあるか? if (xmlChild.HasChildNodes) MakeTree(xmlChild, ref trvChild); trvParent.Nodes.Add(trvChild); } else if (xmlParent.ChildNodes[i].GetType().ToString().IndexOf("XmlText") >= 0) { TreeNode trvChild = new TreeNode(); trvChild.Text = xmlParent.ChildNodes[i].InnerText; trvParent.Nodes.Add(trvChild); } } } //親ノードの設定 trvParent.Text = xmlParent.Name; }
<< 前のTips 次のTips >>