1
A
回答
4
您可以使用libxml編譯XPath表達式而不對其進行評估。見xmlXPathCompile。無效表達式的返回值應爲NULL。
#include <stdio.h>
#include <libxml/xpath.h>
#include <libxml/xmlerror.h>
void
handle_structured_error(void *userdata, xmlErrorPtr err)
{
printf("%s", err->message);
}
int
main(int argc, char **argv)
{
if (argc < 2)
return 1;
const char *expr = argv[1];
xmlXPathContextPtr ctx = xmlXPathNewContext(NULL);
xmlSetStructuredErrorFunc(ctx, &handle_structured_error);
xmlXPathCompExprPtr p = xmlXPathCtxtCompile(ctx, (xmlChar *)expr);
if (p) {
printf("Valid: %s\n", expr);
xmlXPathFreeCompExpr(p);
} else {
printf("Invalid: %s\n", expr);
}
xmlXPathFreeContext(ctx);
return 0;
}
相關問題
- 1. 在Perl中驗證XPath表達式
- 2. Xpath驗證wiremock matchesXPath表達式
- 3. 如何驗證硒IDE XPath表達式?
- 4. XPath表達式語法驗證
- 5. 驗證Java中的xpath表達式
- 6. XPath表達式驗證的NodeList
- 7. 驗證表達式
- 8. Asp.net正則表達式驗證器 - 驗證表達式
- 9. C#正則表達式驗證驗證
- 10. 驗證表達式的驗證
- 11. XPath表達式?
- 12. XPath表達式
- 13. XPath表達式
- 14. XPath表達式
- 15. XPath表達式
- 16. 驗證xpath表達式的語法錯誤
- 17. 驗證lambda表達式的
- 18. 正則表達式驗證
- 19. asp.net的驗證表達式
- 20. 正則表達式驗證
- 21. 正則表達式驗證
- 22. 驗證表達式樹
- 23. 正則表達式驗證
- 24. 正則表達式驗證
- 25. 正則表達式驗證
- 26. 驗證JavaScript表達式
- 27. Angularjs驗證的表達式
- 28. XPath表達式-hierarchy
- 29. 寫XPATH表達式
- 30. XPath表達式:在
如何向用戶顯示描述如何在返回NULL時解決問題的消息? 使用xmlXPathEvalExpression時,將打印一條錯誤消息,顯示語法不正確的位置。 – user128026 2009-08-19 00:16:10
請記住,我不能使用xmlXPathEvalExpression,因爲在程序 – user128026 2009-08-19 00:17:00
的這一階段沒有xmlXPathContext請參閱我的答案:使用xmlXPathCompile,而不是xmlXPathEvalExpression。你根本不需要一個xmlXPathContext。 – p00ya 2009-08-19 03:10:13