private void WriteVertices() { foreach (TVertex vertex in _graph.Vertices) { _writer.WriteStartElement(NodeTag, GraphMLXmlResolver.GraphMLNamespace); _writer.WriteAttributeString(IdAttribute, _vertexIdentities(vertex)); WriteDelegateCompiler.VertexAttributesWriter(_writer, vertex); _writer.WriteEndElement(); } }
private void WriteEdges() { foreach (TEdge edge in _graph.Edges) { _writer.WriteStartElement(EdgeTag, GraphMLXmlResolver.GraphMLNamespace); _writer.WriteAttributeString(IdAttribute, _edgeIdentities(edge)); _writer.WriteAttributeString(SourceAttribute, _vertexIdentities(edge.Source)); _writer.WriteAttributeString(TargetAttribute, _vertexIdentities(edge.Target)); WriteDelegateCompiler.EdgeAttributesWriter(_writer, edge); _writer.WriteEndElement(); } }
private void WriteGraphHeader() { _writer.WriteStartElement(GraphTag, GraphMLXmlResolver.GraphMLNamespace); _writer.WriteAttributeString(IdAttribute, "G"); _writer.WriteAttributeString("edgedefault", _graph.IsDirected ? "directed" : "undirected"); _writer.WriteAttributeString("parse.nodes", _graph.VertexCount.ToString()); _writer.WriteAttributeString("parse.edges", _graph.EdgeCount.ToString()); _writer.WriteAttributeString("parse.order", "nodesfirst"); _writer.WriteAttributeString("parse.nodeids", "free"); _writer.WriteAttributeString("parse.edgeids", "free"); WriteDelegateCompiler.GraphAttributesWriter(_writer, _graph); }