diff options
Diffstat (limited to 'gdata/services/youtube/gdata-youtube-state.c')
-rw-r--r-- | gdata/services/youtube/gdata-youtube-state.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/gdata/services/youtube/gdata-youtube-state.c b/gdata/services/youtube/gdata-youtube-state.c index 6df4da5c..9c66e7be 100644 --- a/gdata/services/youtube/gdata-youtube-state.c +++ b/gdata/services/youtube/gdata-youtube-state.c @@ -30,7 +30,7 @@ **/ #include <glib.h> -#include <libxml/parser.h> +#include <gxml.h> #include "gdata-youtube-state.h" #include "gdata-parsable.h" @@ -38,8 +38,8 @@ static void gdata_youtube_state_finalize (GObject *object); static void gdata_youtube_state_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec); -static gboolean pre_parse_xml (GDataParsable *parsable, xmlDoc *doc, xmlNode *root_node, gpointer user_data, GError **error); -static gboolean parse_xml (GDataParsable *parsable, xmlDoc *doc, xmlNode *node, gpointer user_data, GError **error); +static gboolean pre_parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *root_node, gpointer user_data, GError **error); +static gboolean parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gpointer user_data, GError **error); static void get_namespaces (GDataParsable *parsable, GHashTable *namespaces); struct _GDataYouTubeStatePrivate { @@ -187,30 +187,31 @@ gdata_youtube_state_get_property (GObject *object, guint property_id, GValue *va } static gboolean -pre_parse_xml (GDataParsable *parsable, xmlDoc *doc, xmlNode *root_node, gpointer user_data, GError **error) +pre_parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *root_node, gpointer user_data, GError **error) { GDataYouTubeStatePrivate *priv = GDATA_YOUTUBE_STATE (parsable)->priv; - xmlChar *name; + gchar *name; + GXmlDomElement *root_elem = GXML_DOM_ELEMENT (root_node); - name = xmlGetProp (root_node, (xmlChar*) "name"); + name = gxml_dom_element_get_attribute (root_elem, "name"); if (name == NULL || *name == '\0') { g_free (name); return gdata_parser_error_required_property_missing (root_node, "name", error); } priv->name = (gchar*) name; - priv->reason_code = (gchar*) xmlGetProp (root_node, (xmlChar*) "reasonCode"); - priv->help_uri = (gchar*) xmlGetProp (root_node, (xmlChar*) "helpUrl"); - priv->message = (gchar*) xmlNodeListGetString (doc, root_node->children, TRUE); + priv->reason_code = (gchar*) gxml_dom_element_get_attribute (root_elem, "reasonCode"); + priv->help_uri = (gchar*) gxml_dom_element_get_attribute (root_elem, "helpUrl"); + priv->message = gxml_dom_element_get_content (root_elem); return TRUE; } static gboolean -parse_xml (GDataParsable *parsable, xmlDoc *doc, xmlNode *node, gpointer user_data, GError **error) +parse_xml (GDataParsable *parsable, GXmlDomDocument *doc, GXmlDomXNode *node, gpointer user_data, GError **error) { /* Textual content's handled in pre_parse_xml */ - if (node->type != XML_ELEMENT_NODE) + if (gxml_dom_xnode_get_node_type (node) != GXML_DOM_NODE_TYPE_ELEMENT) return TRUE; return GDATA_PARSABLE_CLASS (gdata_youtube_state_parent_class)->parse_xml (parsable, doc, node, user_data, error); |