本文整理汇总了C++中XercesDOMParser::resetDocumentPool方法的典型用法代码示例。如果您正苦于以下问题:C++ XercesDOMParser::resetDocumentPool方法的具体用法?C++ XercesDOMParser::resetDocumentPool怎么用?C++ XercesDOMParser::resetDocumentPool使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XercesDOMParser
的用法示例。
在下文中一共展示了XercesDOMParser::resetDocumentPool方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: input
void SYSTEM::CXMLConfiguration::Parse(std::string xmlcontent)
{
// ÅäÖýâÎö¹æÔò
static const XMLCh gLS[] = { chLatin_L, chLatin_S, chNull };
impl = DOMImplementationRegistry::getDOMImplementation(gLS);
if(!impl)
return;
// throw CException(GET_TEXT(ERR_XML_DOM_IMPLEMENTATION));
if(parser == NULL)
parser = new XercesDOMParser;
XercesDOMParser* xmlparser = (XercesDOMParser*)parser;
xmlparser->setValidationScheme(XercesDOMParser::Val_Never);
xmlparser->setLoadExternalDTD(false);
xmlparser->setDoNamespaces(false);
xmlparser->setDoSchema(false);
xmlparser->setValidationSchemaFullChecking(false);
xmlparser->setCreateEntityReferenceNodes(false);
xmlparser->setIncludeIgnorableWhitespace(false);
xmlparser->resetDocumentPool(); //ÖØÖÃÎĵµ»º³å³Ø
MemBufInputSource input((XMLByte*) xmlcontent.c_str(), xmlcontent.size(), "memory");
xmlparser->parse(input);
doc = xmlparser->getDocument();
if(doc)
itemElement = ((XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument*)doc)->getDocumentElement(); //¸³Óè¸ù½Úµã
else
return;
// throw CException(boost::str(boost::format(GET_TEXT(ERR_PARSE_CONFIG_FILE)) % xmlcontent));
}
示例2:
bool SYSTEM::CXMLConfiguration::Open(std::string xmlpath)
{
// ÅäÖýâÎö¹æÔò
static const XMLCh gLS[] = { chLatin_L, chLatin_S, chNull };
impl = DOMImplementationRegistry::getDOMImplementation(gLS);
if(!impl)
return false;
// throw CException(GET_TEXT(ERR_XML_DOM_IMPLEMENTATION));
if(parser == NULL)
parser = new XercesDOMParser;
XercesDOMParser* xmlparser = (XercesDOMParser*)parser;
xmlparser->setValidationScheme(XercesDOMParser::Val_Never);
xmlparser->setDoNamespaces(false);
xmlparser->setDoSchema(false);
xmlparser->setValidationSchemaFullChecking(false);
xmlparser->setCreateEntityReferenceNodes(false);
xmlparser->setIncludeIgnorableWhitespace(false);
xmlparser->resetDocumentPool(); //ÖØÖÃÎĵµ»º³å³Ø
xmlparser->parse(xmlpath.c_str());
doc = xmlparser->getDocument();
if(doc)
itemElement = ((XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument*)doc)->getDocumentElement(); //¸³Óè¸ù½Úµã
else
return false;
//throw CException(boost::str(boost::format(GET_TEXT(ERR_PARSE_CONFIG_FILE)) % xmlpath));
xmlFile = xmlpath;
return true;
}
示例3: parse
//------------------------------------------------------------------------
//
// parse - This is the method that is invoked by the rest of
// the test program to actually parse an XML file.
//
//------------------------------------------------------------------------
int ThreadParser::parse(int fileNum)
{
MemBufInputSource *mbis = 0;
InFileInfo *fInfo = &gRunInfo.files[fileNum];
bool errors = false;
fCheckSum = 0;
if (gRunInfo.inMemory) {
mbis = new MemBufInputSource((const XMLByte *) fInfo->fileContent,
fInfo->fileSize,
fInfo->uFileName,
false);
}
try
{
if (gRunInfo.dom) {
// Do a DOM parse
fXercesDOMParser->resetDocumentPool();
if (gRunInfo.inMemory)
fXercesDOMParser->parse(*mbis);
else
fXercesDOMParser->parse(fInfo->fileName);
fDoc = fXercesDOMParser->getDocument();
domCheckSum(fDoc);
}
else if (gRunInfo.sax) {
// Do a SAX1 parse
if (gRunInfo.inMemory)
fSAXParser->parse(*mbis);
else
fSAXParser->parse(fInfo->fileName);
}
else {
// Do a SAX2 parse
if (gRunInfo.inMemory)
fSAX2Parser->parse(*mbis);
else
fSAX2Parser->parse(fInfo->fileName);
}
}
catch (const OutOfMemoryException&)
{
fprintf(stderr, " during parsing: %s\n OutOfMemoryException.\n", fInfo->fileName);
errors = true;
}
catch (const XMLException& e)
{
char *exceptionMessage = XMLString::transcode(e.getMessage());
fprintf(stderr, " during parsing: %s\n Exception message is: %s\n",
fInfo->fileName, exceptionMessage);
XMLString::release(&exceptionMessage);
errors = true;
}
catch (const DOMException& toCatch)
{
fprintf(stderr, " during parsing: %s\n DOMException code is: %i\n",
fInfo->fileName, toCatch.code);
errors = true;
}
catch (const SAXParseException& e)
{
char *exceptionMessage = XMLString::transcode(e.getMessage());
fprintf(stderr, " during parsing: %s\n Exception message is: %s\n",
fInfo->fileName, exceptionMessage);
XMLString::release(&exceptionMessage);
errors = true;
}
catch (...)
{
fprintf(stderr, "Unexpected exception during parsing\n");
errors = true;
}
delete mbis;
if (errors) {
fflush(stderr);
return 0; // if errors occurred, return zero as if checksum = 0;
}
return fCheckSum;
}