A wrapper for serializings graphs

Namespace:  QuickGraph.Serialization
Assembly:  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());

Inheritance Hierarchy

System..::.Object
  QuickGraph.Serialization..::.XmlGraphSerializer

See Also