예제 #1
0
        public void SetUp()
        {
            document = new XmlDocument();
            document.Load("Topics.xml");

            theStack = new TopicXmlStack(theRootDirectory);
        }
예제 #2
0
        private void walkFolderNode(TopicXmlStack stack, XmlElement child)
        {
            var folder = child.Name;
            stack.PushFolder(folder);

            walkChildren(child, stack);

            stack.PopFolder();
        }
예제 #3
0
        private void walkFolderNode(TopicXmlStack stack, XmlElement child)
        {
            var folder = child.Name;

            stack.PushFolder(folder);

            walkChildren(child, stack);

            stack.PopFolder();
        }
예제 #4
0
        private void walkTopicNode(TopicXmlStack stack, XmlElement child)
        {
            var request = stack.AddTopic(child);
            if (child.HasChildNodes)
            {
                stack.PushTopic(request);

                walkChildren(child, stack);

                stack.PopTopic();
            }
        }
예제 #5
0
        public TopicRequest Parse(string directory, XmlDocument document)
        {
            var element = document.DocumentElement;
            var stack = new TopicXmlStack(directory);

            var request = stack.AddTopic(element);
            stack.PushTopic(request);

            walkChildren(element, stack);

            return request;
        }
예제 #6
0
        private void walkTopicNode(TopicXmlStack stack, XmlElement child)
        {
            var request = stack.AddTopic(child);

            if (child.HasChildNodes)
            {
                stack.PushTopic(request);

                walkChildren(child, stack);

                stack.PopTopic();
            }
        }
예제 #7
0
        public TopicRequest Parse(string directory, XmlDocument document)
        {
            var element = document.DocumentElement;
            var stack   = new TopicXmlStack(directory);

            var request = stack.AddTopic(element);

            stack.PushTopic(request);

            walkChildren(element, stack);

            return(request);
        }
예제 #8
0
        // assume that topic has been pushed before you get here!
        private void walkChildren(XmlElement element, TopicXmlStack stack)
        {
            foreach (XmlNode node in element.ChildNodes)
            {
                var child = node as XmlElement;
                if (child == null) continue;

                if (child.Name == "Topic")
                {
                    walkTopicNode(stack, child);
                }
                else
                {
                    walkFolderNode(stack, child);
                }
            }
        }
예제 #9
0
        // assume that topic has been pushed before you get here!
        private void walkChildren(XmlElement element, TopicXmlStack stack)
        {
            foreach (XmlNode node in element.ChildNodes)
            {
                var child = node as XmlElement;
                if (child == null)
                {
                    continue;
                }

                if (child.Name == "Topic")
                {
                    walkTopicNode(stack, child);
                }
                else
                {
                    walkFolderNode(stack, child);
                }
            }
        }