昨天我可以使用该函数解析使用C语言编写的程序的XML文件
doc = xmlParseFile(fname);
。
现在,它返回NULL(在下一行被捕获,返回错误)。该程序已超过一个月没有更改,自上周以来,XML文件没有改变,libxml2自2012年3月25日以来没有改变。 xmllint运行文件没有问题,我可以在另一台计算机上解析它们(Solaris,使用相同的源代码,但使用不同的编译器和库)。那我该怎么办?它听起来类似于这个主题,虽然我想避免那个hacky解决方案http://ubuntuforums.org/showthread.php?t=1402824(尚未尝试过)
C程序实际上是一个从MatLab调用的mex函数,但这不应该有任何区别,对吧?我在GNU / Linux上运行它。
答案 0 :(得分:0)
试试这个:
FILE *f = fopen("~/myxml.log", "a");
xmlSetGenericErrorFunc(f, NULL);
doc = xmlParseFile(fname);
fclose(f);
并查看日志文件中的结果。