C++ DOMLSSerializer:无法打印大文档
我正在使用DOMLSSerialize和DOMLSUPPUT将DOMDocument打印到xml文件。我需要打印大量的xml(10-20Mb之间) 当我试图打印大于~6Mb的文档时,遇到了一个问题。xml文件只包含~6Mo,它在6Mo处得到裁剪。结束标记不在文档中 我知道使用DOMLSerializer和DOMDocument意味着文档一次打印完毕。因此,我很确定我的问题是由于DOMLSSerializer、DOMDocument或DOMLSSOUTPUT中的某个缓冲区太小。。。然而,我不知道缓冲区在哪里,以及如何使其更大 提前谢谢你的帮助C++ DOMLSSerializer:无法打印大文档,c++,xml,xerces-c,C++,Xml,Xerces C,我正在使用DOMLSSerialize和DOMLSUPPUT将DOMDocument打印到xml文件。我需要打印大量的xml(10-20Mb之间) 当我试图打印大于~6Mb的文档时,遇到了一个问题。xml文件只包含~6Mo,它在6Mo处得到裁剪。结束标记不在文档中 我知道使用DOMLSerializer和DOMDocument意味着文档一次打印完毕。因此,我很确定我的问题是由于DOMLSSerializer、DOMDocument或DOMLSSOUTPUT中的某个缓冲区太小。。。然而,我不知道缓
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();
只是一张草图。write()将DOMNode作为输入。因此,它可以打印DomeElement及其子树。可能需要
conf->setParameter(XMLUni::fgdomxmldesclaration,false)代码>如文件中所述哦,这是一个很好的线索。我每次都想写dom的一部分,但XmlDeclaration总是碍事。谢谢