![]() |
![]() |
![]() |
Rest 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 *node, 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 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. |