This documents an unmaintained version of NetworkX. Please upgrade to a maintained version and see the current NetworkX documentation.


write_graphml(G, path, encoding='utf-8', prettyprint=True, infer_numeric_types=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.


>>> G = nx.path_graph(4)
>>> nx.write_graphml_lxml(G, "fourpath.graphml")  # doctest: +SKIP


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