当前位置: 首页>>代码示例>>C++>>正文


C++ XMLParser::setNodeIDLimit方法代码示例

本文整理汇总了C++中XMLParser::setNodeIDLimit方法的典型用法代码示例。如果您正苦于以下问题:C++ XMLParser::setNodeIDLimit方法的具体用法?C++ XMLParser::setNodeIDLimit怎么用?C++ XMLParser::setNodeIDLimit使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在XMLParser的用法示例。


在下文中一共展示了XMLParser::setNodeIDLimit方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: main

int main(const int argc, const char** argv) {

	const char * file[]{
		"./Data/10.pep.xml",
		"/home/matthijs/Dropbox/Studie/Hogeschool Leiden/Stage/Data/10.pep.xml",
		"/users/Matthijs/Dropbox/Studie/Hogeschool Leiden/Stage/Data/10.pep.xml",
		"/home/matthijs/Dropbox/Studie/Hogeschool Leiden/Stage/Data/Adult_Lung_Gel_Velos_13_f06.mzXML",
		"C:\\Users\\Matthijs Kuik\\Dropbox\\Studie\\Hogeschool Leiden\\Stage\\Data\\10.pep.xml",
		"/media/matthijs/Windows/Documents and Settings/Matthijs/Dropbox/Studie/Hogeschool Leiden/Stage/Data/10.pep.xml",
		"/storage/emulated/0/CppDroid/projects/xpxml/Data/10.pep.xml"};

	const char * IN = NULL;
	const char * PATH = NULL; // 3,4:error
	const char * OUT = NULL;
	XMLParser::Method METHOD = XMLParser::GET_VALUES;

	unsigned int *limit = 0;

	for(int i = 0; i != argc; i++) {
		if(strcmp(argv[i], "-xml") == 0) {
			METHOD = XMLParser::TO_XML;
		}
		else if(i + 1 != argc) {
			if(strcmp(argv[i], "-i") == 0) {
				IN = argv[i + 1];
			}
			else if(strcmp(argv[i], "-o") == 0) {
				OUT = argv[i + 1];
			}
			else if(strcmp(argv[i], "-x") == 0) {
				PATH = argv[i + 1];
			}
			else if(strcmp(argv[i], "-max") == 0) {
				limit = new unsigned int(
					convert<unsigned int>(argv[i + 1]));
			}
			else if(strcmp(argv[i], "-t") == 0) {
				try {
					PATH = param[convert<int>(argv[i + 1])];
				}
				catch(std::exception &) {
					std::printf("error: expected integer after -t option");
					showUsageWarning(argv[0]);
				}
			}
			else if(strcmp(argv[i], "-h") == 0) {
				showUsageWarning(argv[0]);
			}
		}
	}

	std::printf("xpath: %s\n", PATH);

	if(IN == NULL) showUsageWarning(argv[0]);
	if(PATH == NULL) showUsageWarning(argv[0]);

	Globals::FILESIZE = fileSize(IN);

	ofstream of;
	try {
		XMLParser * parser = 0;
		if(OUT == NULL) {
			parser = new XMLParser(std::cout);
		}
		else {
			of.open(OUT, std::ios::out);
			parser = new XMLParser(of);
		}
		if(limit) {
			parser->setNodeIDLimit(*limit);
			delete limit;
		}
		parser->parse(IN, PATH, METHOD);
		delete parser;
	}
	catch(std::runtime_error& e) {
		std::cout << e.what() << "\n";
	}
	of.close();


	//char c;
//	std::cin >> c;
	return 0;
}
开发者ID:mkuik,项目名称:xpxml,代码行数:85,代码来源:main.cpp


注:本文中的XMLParser::setNodeIDLimit方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。