Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
libxml2是否有XPath语法错误(XML\u XPath\u EXPR\u错误)的描述_Xml_Xpath_Libxml2 - Fatal编程技术网

libxml2是否有XPath语法错误(XML\u XPath\u EXPR\u错误)的描述

libxml2是否有XPath语法错误(XML\u XPath\u EXPR\u错误)的描述,xml,xpath,libxml2,Xml,Xpath,Libxml2,我正在代码中实现libxml2xpath MSEXPORT int GetXpathXML(xmlDocPtr doc, xmlNodePtr node, xmlChar* xpathExpr, NodeRefsHdl NodeRefs) { #define ERR_OUT(x) {xmlXPathFreeObject(xpathObj); xmlXPathFreeContext(xpathCtx); return x;} if (doc == NULL) return(-1); /*

我正在代码中实现libxml2xpath

MSEXPORT int GetXpathXML(xmlDocPtr doc, xmlNodePtr node, xmlChar* xpathExpr, NodeRefsHdl NodeRefs)
{
#define ERR_OUT(x) {xmlXPathFreeObject(xpathObj); xmlXPathFreeContext(xpathCtx); return x;}
  if (doc == NULL) return(-1);

  /* Create xpath evaluation context */
  xmlXPathContextPtr xpathCtx = xmlXPathNewContext(doc);
  if(xpathCtx == NULL) return(-2);

  /* Evaluate xpath expression. */
  xmlXPathObjectPtr xpathObj = xmlXPathNodeEval((node == NULL ? xmlDocGetRootElement(doc): node), xpathExpr, xpathCtx);

  if(xpathObj == NULL) {
      snprintf(dan, BUFSZ, "Error %d: unable to evaluate xpath expression \"%s\"\n", (int) (xpathCtx->error), xpathExpr); DEBUG_MSG(dan);
      ERR_OUT(-3);
  }
当我故意发送此错误XPath时:

/*/*(一)

(xpathCtx->error)生成0,xmlGetLastError()生成XML\u XPATH\u EXPR\u错误

但是氧气给了我:

XPath失败,原因是:应为“”,找到“”


我可以从LibXML2中检索更多XPath语法错误信息吗?

源代码的相关部分可以在以下位置找到:

所以答案是否定的。错误代码是libxml2的XPath表达式解析器提供的所有信息

    if (CUR != ')') {
        XP_ERROR(XPATH_EXPR_ERROR);
    }