virDomainObj *
-virDomainObjParseNode(xmlDocPtr xml,
- xmlNodePtr root,
+virDomainObjParseFile(const char *filename,
virDomainXMLOption *xmlopt,
unsigned int flags)
{
+ g_autoptr(xmlDoc) xml = NULL;
g_autoptr(xmlXPathContext) ctxt = NULL;
+ int keepBlanksDefault = xmlKeepBlanksDefault(0);
- if (!virXMLNodeNameEqual(root, "domstatus")) {
- virReportError(VIR_ERR_XML_ERROR,
- _("unexpected root element <%s>, "
- "expecting <domstatus>"),
- root->name);
- return NULL;
- }
+ xml = virXMLParse(filename, NULL, NULL, "domstatus", &ctxt, NULL, false);
+ xmlKeepBlanksDefault(keepBlanksDefault);
- if (!(ctxt = virXMLXPathContextNew(xml)))
+ if (!xml)
return NULL;
- ctxt->node = root;
return virDomainObjParseXML(ctxt, xmlopt, flags);
}
-virDomainObj *
-virDomainObjParseFile(const char *filename,
- virDomainXMLOption *xmlopt,
- unsigned int flags)
-{
- g_autoptr(xmlDoc) xml = NULL;
- virDomainObj *obj = NULL;
- int keepBlanksDefault = xmlKeepBlanksDefault(0);
-
- if ((xml = virXMLParseFile(filename))) {
- obj = virDomainObjParseNode(xml, xmlDocGetRootElement(xml),
- xmlopt, flags);
- }
-
- xmlKeepBlanksDefault(keepBlanksDefault);
- return obj;
-}
-
-
static bool
virDomainTimerDefCheckABIStability(virDomainTimerDef *src,
virDomainTimerDef *dst)
virDomainXMLOption *xmlopt,
void *parseOpaque,
unsigned int flags);
-virDomainObj *virDomainObjParseNode(xmlDocPtr xml,
- xmlNodePtr root,
- virDomainXMLOption *xmlopt,
- unsigned int flags);
virDomainObj *virDomainObjParseFile(const char *filename,
virDomainXMLOption *xmlopt,
unsigned int flags);