本文整理汇总了C++中XmlParser::mergePatchfile方法的典型用法代码示例。如果您正苦于以下问题:C++ XmlParser::mergePatchfile方法的具体用法?C++ XmlParser::mergePatchfile怎么用?C++ XmlParser::mergePatchfile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XmlParser
的用法示例。
在下文中一共展示了XmlParser::mergePatchfile方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addUsbdmWizard
//!======================================================================
//! @param sourcePath
//! @param destinationPath
//! @param patchPath
//!
//! @return 0 => OK
//!
int XmlParser::addUsbdmWizard(const char *sourcePath, const char *destinationPath, const char *patchPath) {
int rc = 0;
if (verbose) {
cout << "Applying patches: " << patchPath <<"\n"
" <= " << sourcePath << "\n"
" => " << destinationPath << "\n";
}
try {
XMLPlatformUtils::Initialize();
}
catch (const XMLException& toCatch) {
char* message = XMLString::transcode(toCatch.getMessage());
cerr << "Error during XML Initialisation! :\n"
<< message << "\n";
XMLString::release(&message);
return -1;
}
try {
XmlParser parser;
if (verbose)
cerr << "Opening source: '" << sourcePath << "'" << endl;
parser.openSourcefile(sourcePath);
if (verbose)
cerr << "Opening patch: '" << patchPath << "'" << endl;
parser.openPatchfile(patchPath);
if (verbose)
cerr << "Parsing XML file\n";
parser.mergePatchfile();
if (verbose)
cerr << "Saving result: '" << destinationPath << "'" << endl;
parser.commit(destinationPath);
}
catch (runtime_error *ex) {
cerr << "Exception while parsing, reason: " << ex->what() << endl;
rc = -1;
}
try {
xercesc::XMLPlatformUtils::Terminate();
}
catch( xercesc::XMLException& e ){
cerr<< " in catch()\n";
char* message = xercesc::XMLString::transcode( e.getMessage() ) ;
cerr << "XML toolkit tear-down error: "
<< message
<< endl;
XMLString::release( &message ) ;
rc = -1;
}
if (rc == 0)
cout << "OK\n";
return rc;
}