---
name: "Graph::Writer::XML"
section: "3pm"
platform: "linux"
package: "libgraph-readwrite-perl"
version: "2.10-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Graph::Writer::XML"
---

# Graph::Writer::XML(3pm)

write out directed graph as XML

## NAME

Graph::Writer::XML - write out directed graph as XML

## SYNOPSIS

```
    use Graph;
    use Graph::Writer::XML;
    $graph = Graph->new();
    # add edges and nodes to the graph
    $writer = Graph::Writer::XML->new();
    $writer->write_graph($graph, 'mygraph.xml');
```

## DESCRIPTION

**Graph::Writer::XML** is a class for writing out a directed graph in a simple XML format. The graph must be an instance of the Graph class, which is actually a set of classes developed by Jarkko Hietaniemi.

The XML format is designed to support the Graph classes: it can be used to represent a single graph with a collection of nodes, and edges between those nodes. The graph, nodes, and edges can all have attributes specified, where an attribute is a (name,value) pair, with the value being scalar.

## METHODS

### new()

Constructor - generate a new writer instance.

```
    $writer = Graph::Writer::XML->new();
```

This doesn't take any arguments.

### write\_graph()

Write a specific graph to a named file:

```
    $writer->write_graph($graph, $file);
```

The `$file` argument can either be a filename, or a filehandle for a previously opened file.

## KNOWN BUGS

Attribute values must be scalar. If they're not, well, you're on your own.

## SEE ALSO

- XML::Writer

  The perl module used to actually write out the XML. It handles entities etc.

- Graph

  Jarkko Hietaniemi's modules for representing directed graphs, available from CPAN under modules/by-module/Graph/

- Algorithms in Perl

  The O'Reilly book which has a chapter on directed graphs, which is based around Jarkko's modules.

- Graph::Writer

  The base-class for Graph::Writer::XML

## REPOSITORY

\<https://github.com/neilb/Graph-ReadWrite\>

## AUTHOR

Neil Bowers \<neil@bowers.com\>

## COPYRIGHT

Copyright (c) 2001-2012, Neil Bowers. All rights reserved. Copyright (c) 2001, Canon Research Centre Europe. All rights reserved.

This script is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
