CppUnit - The Unit Testing Library

CppUnit project page | FAQ

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

## Private Types
typedef std::pair< std::string, std::string > | Attribute
typedef CppUnitDeque< Attribute > | Attributes
typedef CppUnitDeque< 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 CppUnitDeque<Attribute> XmlElement::Attributes
| private

## § Elements

typedef CppUnitDeque<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,
|  | 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.

## § addAttribute() [2/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.

## § 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