Ejemplo n.º 1
0
        private void loadxml(string filename)
        {
            try
            {
                // SECTION 1. Create a DOM Document and load the XML data into it.
                XmlDocument dom = new XmlDocument();
                dom.Load(filename);

                // SECTION 2. Initialize the TreeView control.
                ARNode tNode = new ARNode(dom.DocumentElement.Name + " (" + filename + ")");
                treeView1.Nodes.Add(tNode);
                //ARNode tNode = new ARNode();
                //tNode = (ARNode) 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);
            }
        }
Ejemplo n.º 2
0
 void resetNodeColor(ARNode node)
 {
     if (node.short_name != null || node.the_value != null)
     {
         node.ForeColor = Color.Black;
     }
     else
     {
         node.ForeColor = hideBla_ ? Color.White : Color.Black;
     }
 }
Ejemplo n.º 3
0
        private void AddNode(XmlNode inXmlNode, ARNode inTreeNode)
        {
            XmlNode     xNode;
            ARNode      tNode;
            XmlNodeList nodeList;
            int         i;


            {
                //     inTreeNode.Nodes.Add(new TreeNode(inXmlNode.Name));


                // 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];

                        if (xNode.Name == "SHORT-NAME")
                        {
                            inTreeNode.Text      += "  (" + xNode.InnerText + ")";
                            inTreeNode.short_name = xNode.InnerText;
                        }
                        else
                        {
                            if (xNode.ChildNodes.Count == 1 && !xNode.InnerXml.StartsWith("<"))
                            {
                                tNode           = new ARNode(xNode.Name + " = " + xNode.InnerText);
                                tNode.the_value = xNode.InnerText;
                                inTreeNode.Nodes.Add(tNode);
                            }
                            else
                            {
                                tNode = new ARNode(xNode.Name);
                                // tNode.ForeColor = Color.Red;
                                inTreeNode.Nodes.Add(tNode);
                                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();
                }
            }
        }
Ejemplo n.º 4
0
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            ARNode node = (ARNode)e.Node;

            if (node.the_value != null)
            {
                string[] substrings = node.the_value.Split('/');
                foreach (TreeNode n in treeView1.Nodes)
                {
                    highlightNames((ARNode)n, substrings);
                }
            }
            else
            {
                foreach (TreeNode n in treeView1.Nodes)
                {
                    highlightValue((ARNode)n, node.short_name, getNodePathName(node));
                }
            }
        }
Ejemplo n.º 5
0
        void highlightParentNames(ARNode node, string[] substrings, int i)
        {
            while (node != null && i >= 0)
            {
                if (node.short_name != null)
                {
                    if (node.short_name.Equals(substrings[i]))
                    {
                        node.ForeColor = Color.Green;
                        i--;
                    }
                    else
                    {
                        return;
                    }
                }

                node = (ARNode)node.Parent;
            }
        }
Ejemplo n.º 6
0
        void highlightValue(ARNode node, string val, string path)
        {
            resetNodeColor(node);

            if (node.the_value != null)
            {
                if (val != null && node.the_value.Contains(val))
                {
                    node.ForeColor = Color.Blue;
                }

                if (path != null && node.the_value.Equals(path))
                {
                    node.ForeColor = Color.Green;
                }
            }

            foreach (TreeNode child in node.Nodes)
            {
                highlightValue((ARNode)child, val, path);
            }
        }
Ejemplo n.º 7
0
        string getNodePathName(ARNode node)
        {
            string ret = null;

            while (node != null)
            {
                if (node.short_name != null)
                {
                    if (ret == null)
                    {
                        ret = "/" + node.short_name;
                    }
                    else
                    {
                        ret = "/" + node.short_name + ret;
                    }
                }
                node = (ARNode)node.Parent;
            }

            return(ret);
        }
Ejemplo n.º 8
0
        void highlightNames(ARNode node, string[] substrings)
        {
            resetNodeColor(node);

            if (node.short_name != null)
            {
                if (substrings != null)
                {
                    if (isInArray(node.short_name, substrings))
                    {
                        node.ForeColor = Color.Blue;
                    }

                    highlightParentNames(node, substrings, substrings.Length - 1);
                }
            }

            foreach (TreeNode child in node.Nodes)
            {
                highlightNames((ARNode)child, substrings);
            }
        }