CppUnit project page | FAQ | CppUnit home page

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# XmlElement Class Reference

A XML Element. More...

`#include <XmlElement.h>`

List of all members.

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

typedef std::pair<std::string,std::string> XmlElement::Attribute`[private]`

typedef CppUnitDeque<Attribute> XmlElement::Attributes`[private]`

typedef CppUnitDeque<XmlElement *> XmlElement::Elements`[private]`

## Constructor & Destructor Documentation

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::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 | ( |  | ) | `[virtual]`

Destructs the element and its child elements.

## Member Function Documentation

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

Returns the name of the element.

Returns:
  Name of the element.

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

Returns the content of the element.

Returns:
  Content of the element.

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

Sets the name of the element.

Parameters:

  | name | New name for the element.

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

Sets the content of the element.

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

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

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.

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.

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

Adds a child element to the element.

Parameters:

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

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

Returns the number of child elements.

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

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().

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.

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.

std::string XmlElement::attributesAsString | ( |  | ) | const`[private]`

std::string XmlElement::escape | ( | std::string | value | ) | const`[private]`

## Member Data Documentation

std::string XmlElement::m_name`[private]`

std::string XmlElement::m_content`[private]`

Attributes XmlElement::m_attributes`[private]`

Elements XmlElement::m_elements`[private]`

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

- XmlElement.h
- XmlElement.cpp

| hosts this site. |  | Send comments to: CppUnit Developers