2014-01-13 2 views
0

Я пытался разобрать xml-сообщение и получить из него docPtr. Итак, я использовал функцию xmlParseMemory: xmlParseMemory(szXMLMsg, iLen) где szXMLMsg - это строка xml, а iLen - длина строки.Имеет ли xmlParseMemory ограничения на размер переданной строки

Функция возвращает docptr только для сообщения xml длиной до 3800. Любое сообщение размером более этого (для размеров 3850 и выше) возвращает NULL.

Есть ли ограничение на размер отправляемого XML-сообщения. Есть ли способ преодолеть эту проблему.

Я использую библиотеку libxml2 и в среде c.

С уважением, Кранти Кумар

ответ

1

Нет, нет таких ограничений. Я регулярно разбираю гораздо большие куски памяти. В каждом случае я гарантирую, что строка завершена нулем; документация неясна о необходимости этого. Я бы предположил, что ваш входящий XML поврежден или, возможно, у вашей системы недостаточно памяти для размещения XML-документа.

Смежные вопросы