generate_graphml(G, encoding='utf-8', prettyprint=True, named_key_ids=False, edge_id_from_attribute=None)[source]

Generate GraphML lines for G


A networkx graph

encodingstring (optional)

Encoding for text data.

prettyprintbool (optional)

If True use line breaks and indenting in output XML.

named_key_idsbool (optional)

If True use as value for key elements’ id attribute.

edge_id_from_attributedict key (optional)

If provided, the graphml edge id is set by looking up the corresponding edge data attribute keyed by this parameter. If None or the key does not exist in edge data, the edge id is set by the edge key if G is a MultiGraph, else the edge id is left unset.


This implementation does not support mixed graphs (directed and unidirected edges together) hyperedges, nested graphs, or ports.


>>> G = nx.path_graph(4)
>>> linefeed = chr(10)  # linefeed = 
>>> s = linefeed.join(nx.generate_graphml(G))
>>> for line in nx.generate_graphml(G):  
...     print(line)