我有一个使用libxml2的小型C程序来解析xml文件。基本上,我的代码就像
xmlDocPtr doc = xmlParseFile("test.xml");
if (doc == nullptr) {
return;
}
xmlNodePtr node = xmlDocGetRootElement(doc);
if (node == nullptr) {
return;
}
...
我遇到错误情况,其中doc!= null和node == null。在哪种情况下会发生这种情况?我已经使用完全有效,无效和空文件进行了测试,它在每种情况下都会发生。如果文件不存在,则doc == null(应该如此)。我怀疑程序由于某种原因无法打开文件,但我检查了权限,没有其他程序使用该文件。此外,这只发生在我无法使用调试器的环境中。