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); } }
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()); }