gpt4 book ai didi

c - XML 解析(和验证)C 程序的分析

转载 作者:行者123 更新时间:2023-11-30 18:14:31 25 4
gpt4 key购买 nike

感谢 Stack Overflow 上的 jmbr,我终于找到了一种通过 C 程序针对 RELAX NG 验证 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, 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 文件)

没有文档类型或标签的 xml 文件采用不同的编码

& 用于计算处理时间,使用 time.h

关于c - XML 解析(和验证)C 程序的分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6980911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com