# Poco::XML

# class CharacterData

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

## Description

The CharacterData interface extends Node with a set of attributes and methods for accessing character data in the DOM. For clarity this set is defined here rather than on each object that uses these attributes and methods. No DOM objects correspond directly to CharacterData, though Text and others do inherit the interface from it. All offsets in this interface start from 0.

Text strings in the DOM are represented in either UTF-8 (if XML_UNICODE_WCHAR_T is not defined) or in UTF-16 (if XML_UNICODE_WCHAR_T is defined). Indexing on character data is done in XMLChar units.

## Inheritance

Direct Base Classes: AbstractNode

All Base Classes: AbstractNode, DOMObject, EventTarget, Node

Known Derived Classes: CDATASection, Comment, Text

## Member Summary

Member Functions: appendData, data, deleteData, getData, getNodeValue, insertData, length, replaceData, setData, setNodeValue, substringData, trimmedData

Inherited Functions: addEventListener, appendChild, attributes, autoRelease, bubbleEvent, captureEvent, childNodes, cloneNode, copyNode, dispatchAttrModified, dispatchCharacterDataModified, dispatchEvent, dispatchNodeInserted, dispatchNodeInsertedIntoDocument, dispatchNodeRemoved, dispatchNodeRemovedFromDocument, dispatchSubtreeModified, duplicate, events, eventsSuspended, firstChild, getNodeByPath, getNodeByPathNS, getNodeValue, hasAttributes, hasChildNodes, innerText, insertAfterNP, insertBefore, isSupported, lastChild, localName, namespaceURI, nextSibling, nodeName, nodeType, nodeValue, normalize, ownerDocument, parentNode, prefix, previousSibling, release, removeChild, removeEventListener, replaceChild, setNodeValue, setOwnerDocument

## Constructors

### CharacterData

CharacterData(
Document * pOwnerDocument,
const XMLString & data
);

### CharacterData

CharacterData(
Document * pOwnerDocument,
const CharacterData & data
);

## Destructor

### ~CharacterData

~CharacterData();

## Member Functions

### appendData

void appendData(
const XMLString & arg
);

Append the string to the end of the character data of the node.

### data

const XMLString & data() const;

Returns the character data of the node that implements the interface.

### deleteData

void deleteData(
unsigned long offset,
unsigned long count
);

Remove a range of characters from the node.

### getData

const XMLString & getData() const;

Returns the character data of the node that implements the interface.

### getNodeValue

const XMLString & getNodeValue() const;

See also: Poco::XML::AbstractNode::getNodeValue()

### insertData

void insertData(
unsigned long offset,
const XMLString & arg
);

Insert a string at the specified character offset.

### length

unsigned long length() const;

Returns the number of XMLChars that are available through getData and substringData. This may have the value zero.

### replaceData

void replaceData(
unsigned long offset,
unsigned long count,
const XMLString & arg
);

Replace the characters starting at the specified character offset with the specified string.

### setData

void setData(
const XMLString & data
);

Sets the character data of the node that implements the interface.

### setNodeValue

void setNodeValue(
const XMLString & value
);

See also: Poco::XML::AbstractNode::setNodeValue()

### substringData

XMLString substringData(
unsigned long offset,
unsigned long count
) const;

Extracts a range of data from the node. If offset and count exceeds the length, then all the characters to the end of the data are returned.

### trimmedData

XMLString trimmedData() const;

Returns the character data of that node with all surrounding whitespace removed.

This method is an extension to the W3C Document Object Model.