A wrapper for serializings graphs
Namespace:
QuickGraph.SerializationAssembly: QuickGraph (in QuickGraph.dll) Version: 2.4.2.1515 (2.4.2.1515)
Syntax
| C# |
|---|
public class XmlGraphSerializer |
| Visual Basic (Declaration) |
|---|
Public Class XmlGraphSerializer |
Remarks
This class lets you serialize to xml your graphs, even if you are using custom vertex and edges.
Examples
In this example, a AdjacencyGraph is created with
custom providers. It is serialized and deserialized to xml:
CopyC#
AdjacencyGraph g = new AdjacencyGraph( new NamedVertexProvider(), new NamedEdgeProvider(), true ); NamedEdge u = (NamedVertex)Graph.AddVertex(); u.Name = "u"; NamedEdge v = (NamedVertex)Graph.AddVertex(); v.Name = "v"; NamedEdge w = (NamedVertex)Graph.AddVertex(); w.Name = "w"; NamedEdge uv = (NamedEdge)Graph.AddEdge(u,v); uv.Name = "uv"; NamedEdge uw = (NamedEdge)Graph.AddEdge(u,w); uw.Name = "uw"; StringWriter sw = new StringWriter(); XmlTextWriter writer = new XmlTextWriter(sw); writer.Formatting = Formatting.Indented; GraphSerializer ser = new GraphSerializer(Graph); ser.WriteXml(writer); Console.WriteLine(sw.ToString()); StringReader sr = new StringReader(sw.ToString()); XmlTextReader reader = new XmlTextReader(sr); ser.ReadXml(reader); sw = new StringWriter(); writer = new XmlTextWriter(sw); writer.Formatting = Formatting.Indented; ser.WriteXml(writer); Console.WriteLine(sw.ToString());
