예제 #1
0
        /// <summary>
        /// The parse nodes.
        /// </summary>
        /// <param name="xmlDoc">
        /// The xml doc.
        /// </param>
        /// <returns>
        /// Returns Graph object with added paresed nodes.
        /// </returns>
        private static Graph ParseNodes(XmlDocument xmlDoc)
        {
            var graph = new Graph();
            XmlNodeList xmlNodes = xmlDoc.GetElementsByTagName("vertex");
            for (int i = 0; i < xmlNodes.Count; i++)
            {
                GraphNode gnode = null;
                XmlNode xmlNode = xmlNodes[i].ChildNodes.Item(0);
                XmlNode xmlNodeMode = xmlNodes[i].ChildNodes.Item(1);
                if (xmlNode != null)
                {
                    string vertexId = xmlNode.InnerText;
                    if (xmlNodeMode != null)
                    {
                        string mode = xmlNodeMode.InnerText;
                        if (!string.IsNullOrEmpty(vertexId) && !string.IsNullOrEmpty(mode))
                        {
                            int nodem = GetStrNodeMode(mode);
                            gnode = new GraphNode(vertexId, nodem);
                        }
                    }
                    else
                    {
                        gnode = new GraphNode(vertexId, 0);
                    }
                }

                if (gnode != null)
                {
                    graph.AddNode(gnode);
                }
            }

            return graph;
        }