Cairo itself cannot read SVG files. You need something like librsvg to render SVGs to a Cairo surface.
From a quick look at their API documentation, it looks like you need rsvg_handle_new_from_file()
to load a file and something like rsvg_handle_render_cairo()
or rsvg_handle_get_pixbuf()
to draw the SVG to a Cairo context / to turn the SVG into a GdkPixbuf.