---
name: "CGI::XML"
section: "3pm"
platform: "linux"
package: "libcgi-xml-perl"
version: "0.1-16"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/CGI::XML"
---

# CGI::XML(3pm)

Perl extension for converting CGI.pm variables to/from XML

## NAME

CGI::XML - Perl extension for converting CGI.pm variables to/from XML

## SYNOPSIS

```
  use CGI::XML;
  $q = new CGI::XML;
  # convert CGI.pm variables to XML
  $xml = $q->toXML;
  $xml = $q->toXML($root);

  # convert XML to CGI.pm variables
  $q->toCGI($xml);
```

## DESCRIPTION

The CGI::XML module converts CGI.pm variables to XML and vice versa.

**CGI::XML** is a subclass of **CGI.pm**, so it reads the CGI variables just as CGI.pm would.

## METHODS

- $q = new CGI::XML

  creates a new instance of CGI::XML. You also have access to all of the methods in CGI.pm.

- $q-\>toXML(\[$root\])

  where **$root** is an optional parameter that specifies the root element. By default, **toXML** will not return a root element.

- $q-\>toCGI($xml)

  where **$xml** is the XML you would like to convert to CGI.pm parameters. Values in the XML will overwrite any existing values if they exist.

## NOTE

**CGI::XML** does not currently handle multiple selections passed from HTML forms. This will be added in a future release.

## AUTHOR

Jonathan Eisenzopf \<eisen@pobox.com\>

## CONTRIBUTORS

David Black \<dblack@candle.superlink.net\>

## SEE ALSO

[**perl**(1)](/perl/1.md), **XML::Parser**(3).
