libxml++: xmlpp::Element Class Reference

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

# xmlpp::Element Class Reference

Element nodes have attributes as well as child nodes. More...

Inheritance diagram for xmlpp::Element:

[legend]
List of all members.

## Public Types
typedef std::list< Attribute * > | AttributeList
## Public Member Functions
| Element (_xmlNode *node)
virtual | ~Element ()
void | set_namespace_declaration (const Glib::ustring &ns_uri, const Glib::ustring &ns_prefix=Glib::ustring())
| This adds a namespace declaration to this node which will apply to this node and all children.
AttributeList | get_attributes ()
| Obtain the list of attributes for this element.
const AttributeList | get_attributes () const
| Obtain the list of attributes for this element.
Attribute * | get_attribute (const Glib::ustring &name, const Glib::ustring &ns_prefix=Glib::ustring()) const
Attribute * | set_attribute (const Glib::ustring &name, const Glib::ustring &value, const Glib::ustring &ns_prefix=Glib::ustring())
| Set the value of the attribute with this name, and optionally with this namespace.
void | remove_attribute (const Glib::ustring &name, const Glib::ustring &ns_prefix=Glib::ustring())
| Remove the attribute with this name, and optionally with this namespace.
TextNode * | get_child_text ()
| Get the first child text content node.
const TextNode * | get_child_text () const
| Get the first child text content node.
TextNode * | add_child_text (const Glib::ustring &content=Glib::ustring())
| Append a new text node.
void | set_child_text (const Glib::ustring &content)
| Set the text of the first text node, adding one if necessary.
bool | has_child_text () const
| Discover whether one of the child nodes is a text node.
CommentNode * | add_child_comment (const Glib::ustring &content)
| Append a new comment node.
## Protected Member Functions
Glib::ustring | get_namespace_uri_for_prefix (const Glib::ustring &ns_prefix) const

## Detailed Description

Element nodes have attributes as well as child nodes.

This will be instantiated by the parser.

## Member Typedef Documentation

typedef std::list<Attribute*> xmlpp::Element::AttributeList

## Constructor & Destructor Documentation

xmlpp::Element::Element | ( | _xmlNode * | node | ) | `[explicit]`

virtual xmlpp::Element::~Element | ( |  | ) | `[virtual]`

## Member Function Documentation

CommentNode* xmlpp::Element::add_child_comment | ( | const Glib::ustring & | content | ) |

  | Append a new comment node. Parameters:
  | content | The text. This should be unescaped - see ContentNode::set_content().
Returns: The new comment node.

TextNode* xmlpp::Element::add_child_text | ( | const Glib::ustring & | content = `Glib::ustring()` | ) |

  | Append a new text node. Parameters:
  | content | The text. This should be unescaped - see ContentNode::set_content().
Returns: The new text node.

Attribute* xmlpp::Element::get_attribute | ( | const Glib::ustring & | name,
|  | const Glib::ustring & | ns_prefix = `Glib::ustring()`
| ) | const

const AttributeList xmlpp::Element::get_attributes | ( |  | ) | const

| Obtain the list of attributes for this element. Returns: The list of attributes.

AttributeList xmlpp::Element::get_attributes | ( |  | ) |

| Obtain the list of attributes for this element. Returns: The list of attributes.

const TextNode* xmlpp::Element::get_child_text | ( |  | ) | const

| Get the first child text content node. This is a convenience method, meant as an alternative to iterating over all the child nodes to find the first suitable node then and getting the text directly. Returns: The first text node, if any.

TextNode* xmlpp::Element::get_child_text | ( |  | ) |

| Get the first child text content node. This is a convenience method, meant as an alternative to iterating over all the child nodes to find the first suitable node then and getting the text directly. Returns: The first text node, if any.

Glib::ustring xmlpp::Element::get_namespace_uri_for_prefix | ( | const Glib::ustring & | ns_prefix | ) | const`[protected]`

bool xmlpp::Element::has_child_text | ( |  | ) | const

| Discover whether one of the child nodes is a text node. This is a convenience method, meant as an alternative to iterating over all the child nodes and examining them directly. Returns: Whether this node has a child text node.

void xmlpp::Element::remove_attribute | ( | const Glib::ustring & | name,
|  | const Glib::ustring & | ns_prefix = `Glib::ustring()`
| ) |

  | Remove the attribute with this name, and optionally with this namespace. Parameters:
  | name | The name of the attribute to be removed
  | ns_prefix | Namespace prefix. If specified, the attribute will be removed only if the attribute has this namespace.

Attribute* xmlpp::Element::set_attribute | ( | const Glib::ustring & | name,
|  | const Glib::ustring & | value,
|  | const Glib::ustring & | ns_prefix = `Glib::ustring()`
| ) |

  | Set the value of the attribute with this name, and optionally with this namespace. A matching attribute will be added if no matching attribute already exists. For finer control, you might want to use get_attribute() and use the methods of the Attribute class. Parameters:
  | name | The name of the attribute whose value will change.
  | value | The new value for the attribute
  | ns_prefix | Namespace prefix. If the prefix has not been declared then this method will throw an exception.
Returns: The attribute that was changed, or 0 is no suitable Attribute was found.

void xmlpp::Element::set_child_text | ( | const Glib::ustring & | content | ) |

  | Set the text of the first text node, adding one if necessary. This is a convenience method, meant as an alternative to iterating over all the child nodes to find the first suitable node then and setting the text directly. Parameters:
  | content | The text. This should be unescaped - see ContentNode::set_content().

void xmlpp::Element::set_namespace_declaration | ( | const Glib::ustring & | ns_uri,
|  | const Glib::ustring & | ns_prefix = `Glib::ustring()`
| ) |

  | This adds a namespace declaration to this node which will apply to this node and all children. Parameters:
  | ns_uri | The namespace to associate with the prefix, or to use as the default namespace if no prefix is specified.
  | ns_prefix | The namespace prefix. If no prefix is specified then the namespace URI will be the default namespace.

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

- element.h