| librest Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | ||||
RestXmlParser; struct 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);
struct RestXmlNode {
gchar *name;
gchar *content;
GHashTable *children;
GHashTable *attrs;
RestXmlNode *next;
};
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 NULL if 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 NULL if it doesn't exist. |