# Poco::XML

# class DOMParser

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

## Description

This is a convenience class that combines a DOMBuilder with a SAXParser, with the optional support of a WhitespaceFilter.

## Member Summary

Member Functions: addEncoding, getEncoding, getEntityResolver, getFeature, parse, parseMemory, parseString, setEncoding, setEntityResolver, setFeature

## Constructors

### DOMParser

explicit DOMParser(
NamePool * pNamePool = 0
);

Creates a new DOMParser. If a NamePool is given, it becomes the Document's NamePool.

### DOMParser

explicit DOMParser(
unsigned long namePoolSize
);

Creates a new DOMParser, using the given NamePool size.

The given namePoolSize should be a suitable prime number, e.g. 251, 509, 1021 or 4093, depending on the expected size of the document.

## Destructor

### ~DOMParser

~DOMParser();

Destroys the DOMParser.

## Member Functions

### addEncoding

void addEncoding(
const XMLString & name,
Poco::TextEncoding * pEncoding
);

Adds an encoding to the parser.

### getEncoding

const XMLString & getEncoding() const;

Returns the name of the encoding used by the parser if no encoding is specified in the XML document.

### getEntityResolver

EntityResolver * getEntityResolver() const;

Returns the entity resolver used by the underlying SAXParser.

### getFeature

bool getFeature(
const XMLString & name
) const;

Look up the value of a feature.

If a feature is not recognized by the DOMParser, the DOMParser queries the underlying SAXParser for the feature.

### parse

Document * parse(
const XMLString & uri
);

Parse an XML document from a location identified by an URI.

### parse

Document * parse(
InputSource * pInputSource
);

Parse an XML document from a location identified by an InputSource.

### parseMemory

Document * parseMemory(
const char * xml,
std::size_t size
);

Parse an XML document from memory.

### parseString

Document * parseString(
const std::string & xml
);

Parse an XML document from a string.

### setEncoding

void setEncoding(
const XMLString & encoding
);

Sets the encoding used by the parser if no encoding is specified in the XML document.

### setEntityResolver

void setEntityResolver(
EntityResolver * pEntityResolver
);

Sets the entity resolver on the underlying SAXParser.

### setFeature

void setFeature(
const XMLString & name,
bool state
);

Set the state of a feature.

If a feature is not recognized by the DOMParser, it is passed on to the underlying XMLReader.

The only currently supported feature is http://www.appinf.com/features/no-whitespace-in-element-content which, when activated, causes the WhitespaceFilter to be used.

## Variables

### FEATURE_FILTER_WHITESPACE

static const XMLString FEATURE_FILTER_WHITESPACE;