write_graphml(G, path, encoding='utf-8', prettyprint=True, infer_numeric_types=False, named_key_ids=False)

Write G in GraphML XML format to path

This function uses the LXML framework and should be faster than the version using the xml library.

  • G (graph) – A networkx graph

  • path (file or string) – File or filename to write. Filenames ending in .gz or .bz2 will be compressed.

  • encoding (string (optional)) – Encoding for text data.

  • prettyprint (bool (optional)) – If True use line breaks and indenting in output XML.

  • infer_numeric_types (boolean) – Determine if numeric types should be generalized. For example, if edges have both int and float ‘weight’ attributes, we infer in GraphML that both are floats.

  • named_key_ids (bool (optional)) – If True use as value for key elements’ id attribute.


>>> G = nx.path_graph(4)
>>> nx.write_graphml_lxml(G, "fourpath.graphml")  


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