Beispiel #1
0
        public DefinitionOutline Read()
        {
            using (var reader = new XmlTextReader(_freemindXmlStream))
            {
                while (reader.NodeType != XmlNodeType.Element)
                {
                    reader.Read();
                }
                XElement xmlTree = XElement.Load(reader);

                var rootEl = xmlTree
                             .Elements(NodeTag)
                             .First();

                var title           = rootEl.Attribute(Name).Value;
                var rootChildrenEls = rootEl.Elements(NodeTag);
                var defs            = rootChildrenEls.Select(ParseDefinitionEl);

                var outline = new DefinitionOutline
                {
                    Title       = title,
                    Definitions = defs.ToList(),
                    MaxDepth    = _maxLevel + 1
                };

                return(outline);
            }
        }
Beispiel #2
0
        public string TextExport(DefinitionOutline outline)
        {
            var stringBuilder = new StringBuilder();

            stringBuilder.AppendLine(outline.Title);
            foreach (var definition in outline.Definitions)
            {
                var maxDepth = outline.MaxDepth;
                BuildDefinition(definition, stringBuilder, maxDepth);
            }

            return(stringBuilder.ToString());
        }