public void DeserializeFromXml()
        {
            var doc = new XPathDocument("GraphML/repro12273.xml");
            var ug  = SerializationExtensions.DeserializeFromXml(doc,
                                                                 "graph", "node", "edge",
                                                                 nav => new UndirectedGraph <string, TaggedEdge <string, double> >(),
                                                                 nav => nav.GetAttribute("id", ""),
                                                                 nav => new TaggedEdge <string, double>(
                                                                     nav.GetAttribute("source", ""),
                                                                     nav.GetAttribute("target", ""),
                                                                     int.Parse(nav.GetAttribute("weight", ""))
                                                                     )
                                                                 );

            var ug2 = SerializationExtensions.DeserializeFromXml(
                XmlReader.Create("GraphML/repro12273.xml"),
                "graph", "node", "edge", "",
                reader => new UndirectedGraph <string, TaggedEdge <string, double> >(),
                reader => reader.GetAttribute("id"),
                reader => new TaggedEdge <string, double>(
                    reader.GetAttribute("source"),
                    reader.GetAttribute("target"),
                    int.Parse(reader.GetAttribute("weight"))
                    )
                );

            Assert.AreEqual(ug.VertexCount, ug2.VertexCount);
            Assert.AreEqual(ug.EdgeCount, ug2.EdgeCount);
        }