### Struct

# Rest XmlNode

#### Description [src]

    struct RestXmlNode {
      gchar* name;
      gchar* content;
      GHashTable* children;
      GHashTable* attrs;
      RestXmlNode* next;
    }

The `RestXmlNode` contains a parsed XmlNode for easy consumption.

###### Structure members

`name:` `gchar*`

  The name of the element.

`content:` `gchar*`

  The textual content of the element.

`children:` `GHashTable`

  A `GHashTable` of string name to `RestXmlNode` for the children of the element.

`attrs:` `GHashTable`

  A `GHashTable` of string name to string values for the attributes of the element.

`next:` `RestXmlNode`

  The sibling `RestXmlNode` with the same name.

#### Instance methods

###### rest_xml_node_add_attr

Adds attribute to the given node.

###### rest_xml_node_add_child

Adds a new node to the given parent node; to create the top-level node, parent should be `NULL`.

###### rest_xml_node_find

Searches for the first child node of `start` named `tag`.

###### rest_xml_node_get_attr

Get the value of the attribute named `attr_name`, or `NULL` if it doesn’t exist.

###### rest_xml_node_print

Recursively outputs given node and it’s children.

###### rest_xml_node_ref

Increases the reference count of `node`.

###### rest_xml_node_set_content

Sets content for the given node.

###### rest_xml_node_unref

Decreases the reference count of `node`. When its reference count drops to 0, the node is finalized (i.e. its memory is freed).