Error_t Parser::ParseFromMemBuffer(const char *buffer) {
if (! buffer) {
return -1;
}
...
errorsOcurred = false;
MemBufInputSource* inputBuffer = new MemBufInputSource ((const XMLByte*)buffer,
strlen(buffer),
"gMemBufId",
false);
try {
parser->parse(*inputBuffer);
}
catch (const XMLException& e) {
char *errMsg = XMLString::transcode(e.getMessage());
cerr << "[ERROR] XMLException: An error occurred during parsing: " << errMsg << endl;
errorsOcurred = true;
XMLString::release(&errMsg);
}
catch (const DOMException& e) {
char *errMsg = XMLString::transcode(e.msg);
cerr << "[ERROR] DOMException: An error occurred during parsing: " << endl;
errorsOcurred = true;
XMLString::release(&errMsg);
}
catch (...) {
cerr << "[ERROR] UNKNOWN: An error occurred during parsing" << endl;
errorsOcurred = true;
}
if (errorsOcurred) {
return -1;
}
doc = parser->getDocument();
root = doc->getDocumentElement();
return 0;
}
if (! buffer) {
return -1;
}
...
errorsOcurred = false;
MemBufInputSource* inputBuffer = new MemBufInputSource ((const XMLByte*)buffer,
strlen(buffer),
"gMemBufId",
false);
try {
parser->parse(*inputBuffer);
}
catch (const XMLException& e) {
char *errMsg = XMLString::transcode(e.getMessage());
cerr << "[ERROR] XMLException: An error occurred during parsing: " << errMsg << endl;
errorsOcurred = true;
XMLString::release(&errMsg);
}
catch (const DOMException& e) {
char *errMsg = XMLString::transcode(e.msg);
cerr << "[ERROR] DOMException: An error occurred during parsing: " << endl;
errorsOcurred = true;
XMLString::release(&errMsg);
}
catch (...) {
cerr << "[ERROR] UNKNOWN: An error occurred during parsing" << endl;
errorsOcurred = true;
}
if (errorsOcurred) {
return -1;
}
doc = parser->getDocument();
root = doc->getDocumentElement();
return 0;
}
No comments:
Post a Comment