XMLファイルをツリービューに表示する。再帰的にノードを調べてすべてのノードを列挙する。
(C#用)
private void button1_Click(object sender, EventArgs e)
{
XmlDataDocument myXml = new XmlDataDocument();
string myFile = "path\\xmlfilename";
myXml.DataSet.ReadXml(myFile);
treeView1.Nodes.Add("<root>");
RenderNode(myXml, treeView1.TopNode);
treeView1.ExpandAll();
}
private void RenderNode(XmlNode inNode, TreeNode nd)
{
TreeNode nd2 = new TreeNode();
foreach (XmlNode node in inNode.ChildNodes)
{
if (node.NodeType == XmlNodeType.Element)
{
nd2 = nd.Nodes.Add("<" + node.Name + ">");
}
if (node.NodeType == XmlNodeType.Text)
{
nd2 = nd.Nodes.Add(node.Value);
}
//子ノードがあるときは再帰的に呼ぶ
if (node.HasChildNodes)
{
RenderNode(node, nd2);
}
}
}