Я пытаюсь разобрать огромные данные XML clob из Oracle DB в Redhat linux 5.5, 64bit, используя libxml2-2.7.6
Но когда я попытался проанализировать XML размером более 400 КБ (409600 байт), функция синтаксического анализатора xml xmlParseMemory вернула нулевой указатель.
(Успешно загрузить данные из XML clob в строку в C, проверено, что строка sData правильно заполнена данными.)
xmlDocPtr xDoc;
...
xDoc = xmlParseMemory(sData, strlen(sData));
if(xDoc == NULL) return -1;
...
Парсер работает, когда размер XML меньше 400 КБ. Но только когда размер больше 400 КБ, paser возвращает нулевой указатель, несмотря на правильные строковые данные sData.
И я уже пробовал xmlReadDoc, xmlReadMemory с использованием xmlMemSetup перед xmlInitParser.
Как я могу решить эту ситуацию с помощью функций синтаксического анализатора xml?