public void WriteReadGraphMlAdjacencyGraph() { StringWriter sw = new StringWriter(); XmlTextWriter writer = new XmlTextWriter(sw); writer.Formatting = Formatting.Indented; GraphMLGraphSerializer ser = new GraphMLGraphSerializer(); ser.Serialize(writer, Graph); Console.WriteLine("------------- serialized graph -----------------"); Console.WriteLine(sw.ToString()); XmlAssert.XmlValid(sw.ToString()); StringReader sr = new StringReader(sw.ToString()); XmlTextReader reader = new XmlTextReader(sr); ser.TypeFromXml = true; ISerializableVertexAndEdgeListGraph g = ser.Deserialize(reader); ser = new GraphMLGraphSerializer(); StringWriter swResult = new StringWriter(); writer = new XmlTextWriter(swResult); writer.Formatting = Formatting.Indented; ser.Serialize(writer, g); Console.WriteLine("------------- deserialized graph -----------------"); Console.WriteLine(swResult.ToString()); XmlAssert.XmlEquals(sw.ToString(), swResult.ToString()); CheckGraphEqual(Graph, g); }
public void WriteGraphMlAdjacencyGraph() { XmlTextWriter writer = new XmlTextWriter(Console.Out); writer.Formatting = Formatting.Indented; GraphMLGraphSerializer ser = new GraphMLGraphSerializer(); ser.Serialize(writer, Graph); }
public void ToXml(TextWriter writer) { if (writer == null) { throw new ArgumentNullException("writer"); } GraphMLGraphSerializer ser = new GraphMLGraphSerializer(""); XmlTextWriter xmlWriter = new XmlTextWriter(writer); xmlWriter.Formatting = Formatting.Indented; ser.Serialize(xmlWriter, this.graph); }
public void ReadWriteGraphMlAdjacencyGraph() { StringWriter sw = new StringWriter(); XmlTextWriter writer = new XmlTextWriter(sw); writer.Formatting = Formatting.Indented; GraphMLGraphSerializer ser = new GraphMLGraphSerializer(@"../../graphml.dtd"); ser.Serialize(writer, Graph); Console.WriteLine(sw.ToString()); Validate(sw.ToString()); Console.WriteLine("Validated"); StringReader sr = new StringReader(sw.ToString()); XmlTextReader reader = new XmlTextReader(sr); ISerializableVertexAndEdgeListGraph g = ser.Deserialize(reader); writer = new XmlTextWriter(Console.Out); writer.Formatting = Formatting.Indented; Console.WriteLine("Outputting reloaded"); ser.Serialize(writer, g); }
private void menuItem4_Click(object sender, System.EventArgs e) { OpenFileDialog dlg = new OpenFileDialog(); dlg.Multiselect = false; dlg.DefaultExt = ".xml"; dlg.Title = "Load GraphML file"; if (dlg.ShowDialog() != DialogResult.OK) { return; } this.netronPanel.Clear(); // create serialize GraphMLGraphSerializer ser = new GraphMLGraphSerializer("."); ser.GraphType = typeof(BidirectionalGraph); ser.VertexProviderType = typeof(SerializableVertexProvider); ser.EdgeProviderType = typeof(SerializableEdgeProvider); try { XmlReader reader = new XmlTextReader(dlg.FileName); // validate GraphMLGraphSerializer.Validate(reader); reader = new XmlTextReader(dlg.FileName); this.netronPanel.Graph = (BidirectionalGraph)ser.Deserialize(reader); } catch (Exception ex) { Debug.Write(ex.ToString()); Debug.Flush(); throw; } this.netronPanel.Populator.PopulatePanel(this.netronPanel.Graphics); foreach (SerializableVertex v in this.netronPanel.Graph.Vertices) { PropertyGridShape shape = (PropertyGridShape)this.netronPanel.Populator.VertexShapes[v]; if (v.Entries.ContainsKey("name")) { shape.Title = v.Entries["name"]; } else { shape.Title = v.ID.ToString(); } if (v.Entries.ContainsKey("icon")) { try { shape.Icon = new Icon(v.Entries["icon"]); } catch (Exception) {} } // add some properties foreach (DictionaryEntry de in v.Entries) { if (de.Key.ToString() == "name" || de.Key.ToString() == "icon") { continue; } shape.Rows.Add(new PropertyEntry(de.Key.ToString(), de.Value.ToString())); } } foreach (SerializableEdge edge in this.netronPanel.Graph.Edges) { if (edge.Entries.ContainsKey("name")) { SplineConnection conn = (SplineConnection)this.netronPanel.Populator.EdgeConnections[edge]; conn.Label = edge.Entries["name"]; } } this.netronPanel.Populator.PopulatePanel(this.netronPanel.Graphics); }