本文整理汇总了C++中QXmlSimpleReader::errorHandler方法的典型用法代码示例。如果您正苦于以下问题:C++ QXmlSimpleReader::errorHandler方法的具体用法?C++ QXmlSimpleReader::errorHandler怎么用?C++ QXmlSimpleReader::errorHandler使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QXmlSimpleReader
的用法示例。
在下文中一共展示了QXmlSimpleReader::errorHandler方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: parseResults
int QueryWqlBaseList::parseResults( QString &results )
{
int success = -1;
QXmlSimpleReader parser;
resetResults();
QueryWqlBaseListHandler *handler = new QueryWqlBaseListHandler( &m_results );
QXmlInputSource source;
source.setData(results);
qDebug() << "QueryWqlBaseList::parseResults: " << results;
parser.setContentHandler(handler);
parser.setErrorHandler(handler);
success = parser.parse(source);
if(!success)
{
qDebug() << "Parse error: " << parser.errorHandler()->errorString();
}
delete handler;
return (success ? 0 : -1);
}
示例2: main
//.........这里部分代码省略.........
AbstractLinguisticProcessingClient* client(0);
// initialize common
MediaticData::changeable().init(
resourcesPath,
configDir,
commonConfigFile,
langs);
// initialize linguistic processing
Lima::Common::XMLConfigurationFiles::XMLConfigurationFileParser lpconfig(configDir + "/" + lpConfigFile);
LinguisticProcessingClientFactory::changeable().configureClientFactory(
clientId,
lpconfig,
langs,
pipelines);
client=static_cast<AbstractLinguisticProcessingClient*>(LinguisticProcessingClientFactory::single().createClient(clientId));
// Set the handlers
std::map<std::string, AbstractAnalysisHandler*> handlers;
BowTextWriter* bowTextWriter = new BowTextWriter();
handlers.insert(std::make_pair("bowTextWriter", bowTextWriter));
SimpleStreamHandler* simpleStreamHandler = new SimpleStreamHandler();
handlers.insert(std::make_pair("simpleStreamHandler", simpleStreamHandler));
BowTextHandler* bowTextHandler = new BowTextHandler();
handlers.insert(std::make_pair("bowTextHandler", bowTextHandler));
AnalysisTestCaseProcessor analysisTestCaseProcessor(workingDir, client, handlers);
QXmlSimpleReader parser;
TestCasesHandler tch(analysisTestCaseProcessor);
parser.setContentHandler(&tch);
parser.setErrorHandler(&tch);
for (std::deque<std::string>::const_iterator it=files.begin();
it!=files.end();
it++)
{
std::cout << "process tests in " << *it << std::endl;
try
{
QFile file(it->c_str());
if (!file.open(QIODevice::ReadOnly))
{
std::cerr << "Error opening " << *it << std::endl;
return 1;
}
if (!parser.parse( QXmlInputSource(&file)))
{
std::cerr << "Error parsing " << *it << " : " << parser.errorHandler()->errorString().toUtf8().constData() << std::endl;
return 1;
}
}
catch (Lima::LimaException& e)
{
std::cerr << __FILE__ << ", line " << __LINE__ << ": caught LimaException : " << std::endl << e.what() << std::endl;
}
catch (std::logic_error& e)
{
std::cerr << __FILE__ << ", line " << __LINE__ << ": caught logic_error : " << std::endl << e.what() << std::endl;
}
catch (std::runtime_error& e)
{
std::cerr << __FILE__ << ", line " << __LINE__ << ": caught runtime_error : " << std::endl << e.what() << std::endl;
}
TestCasesHandler::TestReport resTotal;
std::cout << std::endl;
std::cout << "=========================================================" << std::endl;
std::cout << std::endl;
std::cout << " TestReport : " << *it << " " << std::endl;
std::cout << std::endl;
std::cout << "\ttype \tsuccess\tcond.\tfailed\ttotal" << std::endl;
std::cout << "---------------------------------------------------------" << std::endl;
for (std::map<std::string,TestCasesHandler::TestReport>::const_iterator resItr=tch.m_reportByType.begin();
resItr!=tch.m_reportByType.end();
resItr++)
{
std::string label(resItr->first);
label.resize(15,' ');
std::cout << "\t" << label << "\t" << resItr->second.success << "\t" << resItr->second.conditional << "\t" << resItr->second.failed << "\t" << resItr->second.nbtests << std::endl;
resTotal.success+=resItr->second.success;
resTotal.conditional+=resItr->second.conditional;
resTotal.failed+=resItr->second.failed;
resTotal.nbtests+=resItr->second.nbtests;
}
std::cout << "---------------------------------------------------------" << std::endl;
std::cout << "\ttotal \t" << resTotal.success << "\t" << resTotal.conditional << "\t" << resTotal.failed << "\t" << resTotal.nbtests << std::endl;
std::cout << "=========================================================" << std::endl;
std::cout << std::endl;
tch.m_reportByType.clear();
}
delete client;
delete bowTextWriter;
delete simpleStreamHandler;
delete bowTextHandler;
}
示例3: main
//.........这里部分代码省略.........
else if ( (pos = arg.find("--client=")) != std::string::npos )
clientId=arg.substr(pos+9);
else if ( (pos = arg.find("--working-dir=")) != std::string::npos )
workingDir=arg.substr(pos+14);
else if ( (pos = arg.find("--language=")) != std::string::npos )
langs.push_back(arg.substr(pos+11));
else usage(argc, argv);
}
else
{
files.push_back(arg);
}
}
}
setlocale(LC_ALL,"fr_FR.UTF-8");
AbstractLinguisticProcessingClient* client(0);
// initialize common
MediaticData::changeable().init(
resourcesPath,
configDir,
commonConfigFile,
langs);
// initialize linguistic processing
Lima::Common::XMLConfigurationFiles::XMLConfigurationFileParser lpconfig(configDir + "/" + lpConfigFile);
LinguisticProcessingClientFactory::changeable().configureClientFactory(
clientId,
lpconfig,
MediaticData::single().getMedias());
client=dynamic_cast<AbstractLinguisticProcessingClient*>(LinguisticProcessingClientFactory::single().createClient(clientId));
ReaderTestCaseProcessor
readerTestCaseProcessor(workingDir, client);
QXmlSimpleReader parser;
TestCasesHandler tch(readerTestCaseProcessor);
parser.setContentHandler(&tch);
parser.setErrorHandler(&tch);
for (deque<string>::const_iterator it=files.begin();
it!=files.end();
it++)
{
cout << "process tests in " << *it << endl;
try
{
QFile file(it->c_str());
if (!file.open(QIODevice::ReadOnly))
{
std::cerr << "Error opening " << *it << std::endl;
return 1;
}
if (!parser.parse( QXmlInputSource(&file)))
{
std::cerr << "Error parsing " << *it << " : " << parser.errorHandler()->errorString().toUtf8().constData() << std::endl;
return 1;
}
}
catch (Lima::LimaException& e)
{
cerr << "caught LimaException : " << endl << e.what() << endl;
}
catch (logic_error& e)
{
cerr << "caught logic_error : " << endl << e.what() << endl;
}
TestCasesHandler::TestReport resTotal;
cout << endl;
cout << "=========================================================" << endl;
cout << endl;
cout << " TestReport : " << *it << " " << endl;
cout << endl;
cout << "\ttype \tsuccess\tcond.\tfailed\ttotal" << endl;
cout << "---------------------------------------------------------" << endl;
for (map<string,TestCasesHandler::TestReport>::const_iterator resItr=tch.m_reportByType.begin();
resItr!=tch.m_reportByType.end();
resItr++)
{
string label(resItr->first);
label.resize(15,' ');
cout << "\t" << label << "\t" << resItr->second.success << "\t" << resItr->second.conditional << "\t" << resItr->second.failed << "\t" << resItr->second.nbtests << endl;
resTotal.success+=resItr->second.success;
resTotal.conditional+=resItr->second.conditional;
resTotal.failed+=resItr->second.failed;
resTotal.nbtests+=resItr->second.nbtests;
}
cout << "---------------------------------------------------------" << endl;
cout << "\ttotal \t" << resTotal.success << "\t" << resTotal.conditional << "\t" << resTotal.failed << "\t" << resTotal.nbtests << endl;
cout << "=========================================================" << endl;
cout << endl;
tch.m_reportByType.clear();
}
}
示例4: run
int run(int argc, char** argv)
{
readCommandLineArguments(argc, argv);
if (param->help)
{
usage(argc, argv);
exit(0);
}
std::string resourcesPath = (getenv("LIMA_RESOURCES")!=0) ? string(getenv("LIMA_RESOURCES")) : string("/usr/share/apps/lima/resources");
std::string configPath = (param->configDir.size()>0) ? param->configDir : string("");
if (configPath.size() == 0)
configPath = string(getenv("LIMA_CONF"));
if (configPath.size() == 0)
configPath = string("/usr/share/config/lima");
if (QsLogging::initQsLog(QString::fromUtf8(configPath.c_str())) != 0)
{
LOGINIT("Common::Misc");
LERROR << "Call to QsLogging::initQsLog(\"" << configPath << "\") failed.";
return EXIT_FAILURE;
}
// Necessary to initialize factories
Lima::AmosePluginsManager::single();
setlocale(LC_ALL,"fr_FR.UTF-8");
// check that input file exists
{
ifstream fin(param->input.c_str(), std::ifstream::binary);
if (!fin.good())
{
cerr << "can't open input file " << param->input << endl;
exit(-1);
}
fin.close();
}
// parse charchart
if (param->charChart == "") {
cerr << "please specify CharChart file with --charChart=<file> option" << endl;
exit(0);
}
CharChart charChart;
charChart.loadFromFile(param->charChart);
try
{
cerr << "parse charChart file : " << param->charChart << endl;
// cerr << "TODO: to implement at "<<__FILE__<<", line "<<__LINE__<<"!" <<std::endl;
// exit(2);
// charChart = 0;
/* ParseCharClass parseCharClass;
parseCharClass.parse(param->charChart);
charChart = ParseChar::parse(param->charChart, parseCharClass);*/
}
catch (exception& e)
{
cerr << "Caught exception while parsing file " << param->charChart << endl;
cerr << e.what() << endl;
exit(-1);
}
if (param->extractKeys != "")
{
// just extract keys
ofstream fout(param->extractKeys.c_str(), std::ofstream::binary);
if (!fout.good())
{
cerr << "can't open file " << param->extractKeys << endl;
exit(-1);
}
KeysLogger keysLogger(fout,&charChart,param->reverseKeys);
cerr << "parse input file : " << param->input << endl;
try
{
QXmlSimpleReader parser;
// parser->setValidationScheme(SAXParser::Val_Auto);
// parser->setDoNamespaces(false);
// parser->setDoSchema(false);
// parser->setValidationSchemaFullChecking(false);
parser.setContentHandler(&keysLogger);
parser.setErrorHandler(&keysLogger);
QFile file(param->input.c_str());
if (!file.open(QIODevice::ReadOnly))
{
std::cerr << "Error opening " << param->input << std::endl;
return 1;
}
if (!parser.parse( QXmlInputSource(&file)))
{
std::cerr << "Error parsing " << param->input << " : " << parser.errorHandler()->errorString().toUtf8().constData() << std::endl;
return 1;
}
else
{
std::cerr << std::endl;
//.........这里部分代码省略.........