# Poco::XML

# class DOMWriter

Library: XML
Package: DOM
Header: Poco/DOM/DOMWriter.h

## Description

The DOMWriter uses a DOMSerializer with an XMLWriter to serialize a DOM document into textual XML.

## Member Summary

Member Functions: getEncoding, getIndent, getNewLine, getOptions, setEncoding, setIndent, setNewLine, setOptions, writeNode

## Constructors

### DOMWriter

DOMWriter();

Creates a DOMWriter.

## Destructor

### ~DOMWriter

~DOMWriter();

Destroys a DOMWriter.

## Member Functions

### getEncoding

const std::string & getEncoding() const;

Returns the encoding name set with setEncoding.

### getIndent

const std::string & getIndent() const;

Returns the string used for one indentation step.

### getNewLine

const std::string & getNewLine() const;

Returns the line ending characters used by the internal XMLWriter.

### getOptions

int getOptions() const;

Returns the options for the internal XMLWriter.

### setEncoding

void setEncoding(
const std::string & encodingName,
Poco::TextEncoding & textEncoding
);

Sets the encoding, which will be reflected in the written XML declaration.

### setIndent

void setIndent(
const std::string & indent
);

Sets the string used for one indentation step.

The default is a single TAB character. The given string should only contain TAB or SPACE characters (e.g., a single TAB character, or two to four SPACE characters).

### setNewLine

void setNewLine(
const std::string & newLine
);

Sets the line ending characters for the internal XMLWriter. See XMLWriter::setNewLine() for a list of supported values.

### setOptions

void setOptions(
int options
);

Sets options for the internal XMLWriter.

See class XMLWriter for available options.

### writeNode

void writeNode(
XMLByteOutputStream & ostr,
const Node * pNode
);

Writes the XML for the given node to the specified stream.

### writeNode

void writeNode(
const std::string & systemId,
const Node * pNode
);

Writes the XML for the given node to the file specified in systemId, using a standard file output stream (Poco::FileOutputStream).