TUM.CMS.VplControl.Core.VplControl.SerializeNetwork C# (CSharp) Method

SerializeNetwork() private method

private SerializeNetwork ( string filePath ) : void
filePath string
return void
        internal void SerializeNetwork(string filePath)
        {
            var settings = new XmlWriterSettings
            {
                Indent = true,
                NewLineOnAttributes = false,
                Encoding = new UTF8Encoding()
            };

            StringWriter sb = new StringWriterWithEncoding(Encoding.UTF8);

            using (var xmlWriter = XmlWriter.Create(sb, settings))
            {
                xmlWriter.WriteStartDocument();

                xmlWriter.WriteStartElement("Document");

                xmlWriter.WriteStartAttribute("GraphFlowDirection");
                xmlWriter.WriteValue(GraphFlowDirection.ToString());
                xmlWriter.WriteEndAttribute();

                xmlWriter.WriteStartElement("Nodes");

                foreach (var node in NodeCollection)
                {
                    xmlWriter.WriteStartElement(node.GetType().ToString());
                    node.SerializeNetwork(xmlWriter);
                    xmlWriter.WriteEndElement();
                }
                xmlWriter.WriteEndElement();

                xmlWriter.WriteStartElement("Connectors");
                foreach (var connector in ConnectorCollection)
                {
                    xmlWriter.WriteStartElement(connector.GetType().ToString());
                    connector.SerializeNetwork(xmlWriter);
                    xmlWriter.WriteEndElement();
                }
                xmlWriter.WriteEndElement();

                xmlWriter.WriteEndElement();

                xmlWriter.WriteEndDocument();
            }

            File.WriteAllText(filePath, sb.ToString());
        }