summaryrefslogtreecommitdiff
path: root/gdata/services/youtube/gdata-youtube-state.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdata/services/youtube/gdata-youtube-state.c')
-rw-r--r--gdata/services/youtube/gdata-youtube-state.c23
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);