XML解析(和验证)C程序的分析
多亏了堆栈溢出处的jmbr,我终于找到了通过C程序针对RELAXNG验证xml的方法。节目如下XML解析(和验证)C程序的分析,c,xml,relaxng,C,Xml,Relaxng,多亏了堆栈溢出处的jmbr,我终于找到了通过C程序针对RELAXNG验证xml的方法。节目如下 #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <libxml/xmlmemory.h> #include <libxml/parser.h> #include <libxml/relaxng.h> int main(int argc
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <libxml/xmlmemory.h>
#include <libxml/parser.h>
#include <libxml/relaxng.h>
int main(int argc, char *argv[])
{
int status;
xmlDoc *doc;
xmlRelaxNGPtr schema;
xmlRelaxNGValidCtxtPtr validctxt;
xmlRelaxNGParserCtxtPtr rngparser;
doc = xmlParseFile(argv[1]);
rngparser = xmlRelaxNGNewParserCtxt(argv[2]);
schema = xmlRelaxNGParse(rngparser);
validctxt = xmlRelaxNGNewValidCtxt(schema);
status = xmlRelaxNGValidateDoc(validctxt, doc);
printf("status == %d\n", status);
xmlRelaxNGFree(schema);
xmlRelaxNGFreeValidCtxt(validctxt);
xmlRelaxNGFreeParserCtxt(rngparser);
xmlFreeDoc(doc);
exit(EXIT_SUCCESS);
}
从那时起,我对程序进行了重大调整,以便找出解析和验证xml文件的处理时间。有没有办法找出这个项目的最佳情况和最坏情况。最糟糕的情况是,任何xml文件作为输入所花费的时间总是最高的。最好的情况是,花费的时间总是最低的。我真的被这件事难住了。如果你们中有人能帮我的话,我会非常感激的。要测试你的代码,你应该制定不同的测试计划和测试用例。。 在这种情况下,请尝试不同的xml输入文件 1个文件谁嵌套了这么多次 任何丢失的标记xml文件都不是有效的xml文件 没有doctype或标记的xml文件的编码不同
&对于处理时间计算,请使用time.h非常感谢您,32先生。我正在按照你的建议做——从互联网上拿出一些xml文件并进行实验。再次非常感谢。