CppUnit - The Unit Testing Library

CppUnit project page | FAQ

XmlElement Class Reference

A XML Element. More...

`#include <XmlElement.h>`

## Public Member Functions
| XmlElement (std::string elementName, std::string content="")
| Constructs an element with the specified name and string content.
| XmlElement (std::string elementName, int numericContent)
| Constructs an element with the specified name and numeric content.
virtual | ~XmlElement ()
| Destructs the element and its child elements.
std::string | name () const
| Returns the name of the element.
std::string | content () const
| Returns the content of the element.
void | setName (const std::string &name)
| Sets the name of the element.
void | setContent (const std::string &content)
| Sets the content of the element.
void | setContent (int numericContent)
void | addAttribute (std::string attributeName, std::string value)
| Adds an attribute with the specified string value.
void | addAttribute (std::string attributeName, int numericValue)
| Adds an attribute with the specified numeric value.
void | addElement (XmlElement *element)
| Adds a child element to the element.
int | elementCount () const
| Returns the number of child elements.
XmlElement * | elementAt (int index) const
| Returns the child element at the specified index.
XmlElement * | elementFor (const std::string &name) const
| Returns the first child element with the specified name.
std::string | toString (const std::string &indent="") const
| Returns a XML string that represents the element.

## Private Types
typedef std::pair< std::string, std::string > | Attribute
typedef std::deque< Attribute > | Attributes
typedef std::deque< XmlElement * > | Elements

## Private Member Functions
std::string | attributesAsString () const
std::string | escape (std::string value) const

## Private Attributes
std::string | m_name
std::string | m_content
Attributes | m_attributes
Elements | m_elements

## Detailed Description

A XML Element.

A XML element has:

- a name, specified on construction,
- a content, specified on construction (may be empty),
- zero or more attributes, added with addAttribute(),
- zero or more child elements, added with addElement().

## Member Typedef Documentation

## ◆ Attribute

typedef std::pair<std::string,std::string> XmlElement::Attribute
| private

## ◆ Attributes

typedef std::deque<Attribute> XmlElement::Attributes
| private

## ◆ Elements

typedef std::deque<XmlElement *> XmlElement::Elements
| private

## Constructor & Destructor Documentation

## ◆ XmlElement() [1/2]

CPPUNIT_NS_BEGIN XmlElement::XmlElement | ( | std::string | elementName,
|  | std::string | content = "" )

Constructs an element with the specified name and string content.

Parameters

  elementName | Name of the element. Must not be empty.
  content | Content of the element.

## ◆ XmlElement() [2/2]

XmlElement::XmlElement | ( | std::string | elementName,
|  | int | numericContent )

Constructs an element with the specified name and numeric content.

Parameters

  elementName | Name of the element. Must not be empty.
  numericContent | Content of the element.

## ◆ ~XmlElement()

XmlElement::~XmlElement | ( |  | ) |
| virtual

Destructs the element and its child elements.

## Member Function Documentation

## ◆ addAttribute() [1/2]

void XmlElement::addAttribute | ( | std::string | attributeName,
|  | int | numericValue )

Adds an attribute with the specified numeric value.

Parameters

  attributeName | Name of the attribute. Must not be empty.
  numericValue | Numeric value of the attribute.

## ◆ addAttribute() [2/2]

void XmlElement::addAttribute | ( | std::string | attributeName,
|  | std::string | value )

Adds an attribute with the specified string value.

Parameters

  attributeName | Name of the attribute. Must not be an empty.
  value | Value of the attribute.

## ◆ addElement()

void XmlElement::addElement | ( | XmlElement * | element | ) |

Adds a child element to the element.

Parameters

  element | Child element to add. Must not be `NULL`.

## ◆ attributesAsString()

std::string XmlElement::attributesAsString | ( |  | ) | const
| private

## ◆ content()

std::string XmlElement::content | ( |  | ) | const

Returns the content of the element.

Returns
  Content of the element.

## ◆ elementAt()

XmlElement * XmlElement::elementAt | ( | int | index | ) | const

Returns the child element at the specified index.

Parameters

  index | Zero based index of the element to return.

Returns
  Element at the specified index. Never `NULL`.

Exceptions

  std::invalid_argument | if index < 0 or index >= elementCount().

## ◆ elementCount()

int XmlElement::elementCount | ( |  | ) | const

Returns the number of child elements.

Returns
  Number of child elements (element added with addElement()).

## ◆ elementFor()

XmlElement * XmlElement::elementFor | ( | const std::string & | name | ) | const

Returns the first child element with the specified name.

Parameters

  name | Name of the child element to return.

Returns
  First child element found which is named name.

Exceptions

  std::invalid_argument | if there is no child element with the specified name.

## ◆ escape()

std::string XmlElement::escape | ( | std::string | value | ) | const
| private

## ◆ name()

std::string XmlElement::name | ( |  | ) | const

Returns the name of the element.

Returns
  Name of the element.

## ◆ setContent() [1/2]

void XmlElement::setContent | ( | const std::string & | content | ) |

Sets the content of the element.

Parameters

  content | New content for the element.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

## ◆ setContent() [2/2]

void XmlElement::setContent | ( | int | numericContent | ) |

## ◆ setName()

void XmlElement::setName | ( | const std::string & | name | ) |

Sets the name of the element.

Parameters

  name | New name for the element.

## ◆ toString()

std::string XmlElement::toString | ( | const std::string & | indent = "" | ) | const

Returns a XML string that represents the element.

Parameters

  indent | String of spaces representing the amount of 'indent'.

Returns
  XML string that represents the element, its attributes and its child elements.

## Member Data Documentation

## ◆ m_attributes

Attributes XmlElement::m_attributes
| private

## ◆ m_content

std::string XmlElement::m_content
| private

## ◆ m_elements

Elements XmlElement::m_elements
| private

## ◆ m_name

std::string XmlElement::m_name
| private

The documentation for this class was generated from the following files:

- XmlElement.h
- XmlElement.cpp

| Send comments to: CppUnit Developers