/// <summary>Serializes a graph into a file</summary>
		/// <param name="g">Graph to serialize</param>
		/// <param name="file">Target file</param>
		public static void Serialize(Graph g, string file)
		{
			using (XmlTextWriter writer = new XmlTextWriter(file, Encoding.UTF8))
			{
				writer.Formatting = Formatting.Indented;
				writer.Indentation = 1;
				writer.IndentChar = '\t';
				writer.WriteStartDocument(true);
				writer.WriteStartElement("GraphXML");
				writer.WriteStartElement("graph");
				writer.WriteAttributeString("id", "autogenerated_webgraph_10");
				writer.WriteAttributeString("meta", g.Tag.ToString());
				g.ForAllNodes(node =>
					{
						writer.WriteStartElement("node");
						writer.WriteAttributeString("name", string.Format("n{0:D4}", node.Id));
						writer.WriteElementString("label", node.Label);
						writer.WriteEndElement();	// node
					});
				g.ForAllEdges(edge =>
					{
						writer.WriteStartElement("edge");
						writer.WriteAttributeString("source", string.Format("n{0:D4}", edge.From.Id));
						writer.WriteAttributeString("target", string.Format("n{0:D4}", edge.To.Id));
						writer.WriteEndElement();	// edge
					});
				writer.WriteEndElement();	// graph
				writer.WriteEndElement();	// GraphXML
				writer.Close();
			}
		}