如何在Linux上用C libexpat逐行解析xml文件?

时间:2011-12-26 15:47:42

标签: c xml linux

我正在寻找如何通过C libexpat和Linux解析XML文件。我正在寻找解析不会将整个文件内容加载到内存中,我希望解析是通过逐行读取xml文档来完成的。

有没有人可以使用expat提出方法?

提前感谢您的帮助

1 个答案:

答案 0 :(得分:1)

XML_Parse就是这么做的。请参阅以下示例代码:

actual_size = fread(xmlData, 1, 32, fp);
while (actual_size > 0) {
    if (XML_Parse(parser, xmlData, actual_size, 0) == XML_STATUS_ERROR) {
        printf("%s at line %l\n",
                XML_ErrorString(XML_GetErrorCode(parser)),
                (long) XML_GetCurrentLineNumber(parser));
        return 1;
    }
    actual_size = fread(xmlData, 1, 32, fp);
}