Я использую DOMLSSerialize с DOMLSOutput для печати DOMDocument в XML-файл. Мне нужно напечатать довольно большое количество XML (между 10-20 МБ).
Я сталкиваюсь с проблемой, когда пытаюсь напечатать документ размером более 6 МБ. XML-файл содержит только ~ 6Mo, он обрезается в 6Mo, закрывающие теги отсутствуют в документе.
Я понимаю, что использование DOMLSSerializer и DOMDocument подразумевает, что документ печатается сразу. Таким образом, я в основном уверен, что моя проблема из-за слишком маленького буфера где-то в DOMLSSerializer, DOMDocument или DOMLSOutput … Однако я не знаю, где находится буфер и как его увеличить.
Заранее спасибо за помощь.
DOMImplementation *pImplement = DOMImplementationRegistry::getDOMImplementation(L"LS");
xercesc::DOMLSSerializer* _pSerializer = ((DOMImplementationLS*)pImplement)->createLSSerializer();
XMLFormatTarget *formatTarget = new LocalFileFormatTarget("Debug.xml");
xercesc::DOMLSOutput* _output = ((DOMImplementationLS*)pImplement)->createLSOutput();
_output->setByteStream(formatTarget);
//later
_pSerializer->write(pmyDOMDocument, _output);
_pDOMDocument->release();
Задача ещё не решена.
Других решений пока нет …