|  |  |  | librest Reference Manual | |
|---|---|---|---|---|
| Top | Description | Object Hierarchy | ||||
RestXmlParser; RestXmlNode; RestXmlParser * rest_xml_parser_new (void); RestXmlNode * rest_xml_parser_parse_from_data (RestXmlParser *parser,const gchar *data,goffset len); RestXmlNode * rest_xml_node_ref (RestXmlNode *node); void rest_xml_node_unref (RestXmlNode *node); const gchar * rest_xml_node_get_attr (RestXmlNode *node,const gchar *attr_name); RestXmlNode * rest_xml_node_find (RestXmlNode *start,const gchar *tag);
typedef struct {
  gchar *name;
  gchar *content;
  GHashTable *children;
  GHashTable *attrs;
  RestXmlNode *next;
} RestXmlNode;
| gchar * | the name of the element | 
| gchar * | the textual content of the element | 
| GHashTable * | a GHashTable of string name to RestXmlNode for the children of the element. | 
| GHashTable * | a GHashTable of string name to string values for the attributes of the element. | 
| RestXmlNode * | the sibling RestXmlNode with the same name | 
RestXmlParser *     rest_xml_parser_new                 (void);
Create a new RestXmlParser, for parsing XML documents.
| Returns : | a new RestXmlParser. | 
RestXmlNode * rest_xml_parser_parse_from_data (RestXmlParser *parser,const gchar *data,goffset len);
Parse the XML in data, and return a new RestXmlNode.  If data is invalid
XML, NULL is returned.
| 
 | a RestXmlParser | 
| 
 | the XML content to parse | 
| 
 | the length of data | 
| Returns : | a new RestXmlNode, or NULLif the XML was invalid. | 
RestXmlNode *       rest_xml_node_ref                   (RestXmlNode *node);
Increases the reference count of node.
| 
 | a RestXmlNode | 
| Returns : | the same node. | 
void                rest_xml_node_unref                 (RestXmlNode *node);
Decreases the reference count of node. When its reference count drops to 0,
the node is finalized (i.e. its memory is freed).
| 
 | a RestXmlNode | 
const gchar * rest_xml_node_get_attr (RestXmlNode *node,const gchar *attr_name);
Get the value of the attribute named attr_name, or NULL if it doesn't
exist.
| 
 | a RestXmlNode | 
| 
 | the name of an attribute | 
| Returns : | the attribute value. This string is owned by RestXmlNode and should not be freed. | 
RestXmlNode * rest_xml_node_find (RestXmlNode *start,const gchar *tag);
Searches for the first child node of start named tag.
| 
 | a RestXmlNode | 
| 
 | the name of a node | 
| Returns : | the first child node, or NULLif it doesn't exist. |