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


C++ XMLDocument::PrintError方法代码示例

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


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

示例1: parse

bool MCTriggers::parse() {
  XMLDocument doc;
  if (doc.LoadFile(mXmlFile.c_str())) {
    doc.PrintError();
    return false;
  }

  const XMLElement* root = doc.FirstChildElement("triggers");
  if (! root)
    return false;

  const XMLElement* path = root->FirstChildElement("path");
  for (; path; path = path->NextSiblingElement("path")) {
    parsePathElement(path);
  }

  return true;
}
开发者ID:blinkseb,项目名称:GammaJetResiduals,代码行数:18,代码来源:triggers.cpp

示例2: current

set<string> compareWithStorageFile(const string& path) {
  map<string, time_t> storage;
	
  XMLDocument doc;
  if (doc.LoadFile(gStorage.c_str())!=XML_NO_ERROR) {
    cerr << "Error reading XML!" << endl;
    doc.PrintError();
  }
  auto root  = doc.FirstChildElement();
  auto file = root->FirstChildElement();
  while (file) {
    string name = file->FirstAttribute()->Value();
    auto time = file->Attribute("last_modif");
    storage[name] = stoll(time);
    file = file->NextSiblingElement();
  }

  set<string> dst;
  fs::path current(path);
  fs::recursive_directory_iterator end;
  cout << "Go to directory iterator: " << current.string() << " -> " << endl;
  for (fs::recursive_directory_iterator item(current); item != end; ++item) {
    if (!fs::is_directory(item->status())) {
      fs::path filename = item->path();

      time_t time = fs::last_write_time(filename);
      auto sfile = filename.string().substr(current.string().size());
      if (storage.count(sfile)>0) {
	if (storage[sfile]!=time) {
          dst.insert(sfile);
	  cout << "[mod] " << sfile << endl;
	}
      }
      else {
	dst.insert(sfile);
	cout << "[new] " << sfile << endl; 
      }
    }
  }

  return dst;
}
开发者ID:almikh,项目名称:patches-creator,代码行数:42,代码来源:patches-creator.cpp

示例3: loadSceneFromFile

// TODO move this function to the constructor ? 
void Scene::loadSceneFromFile(const char* filename){
	XMLDocument doc;
	doc.LoadFile(filename);

    // Check for errors in the XML
    if (doc.ErrorID() != 0)
    {
        doc.PrintError();
    }

    XMLElement *music = doc.FirstChildElement("scene");
    pathMusic = music->FirstChildElement("music")->GetText();

    XMLElement *end = doc.FirstChildElement("scene");
    if(end->FirstChildElement("end")) this->end = atoi(end->FirstChildElement("end")->GetText());
    else this->end = 0;

	loadModels(doc);
	loadDialogues(doc);
	loadLights(doc);
	loadRoom(doc);
}
开发者ID:Olivier-Daire,项目名称:La-broloc,代码行数:23,代码来源:scene.cpp

示例4: main


//.........这里部分代码省略.........
		element->LastChildElement()->DeleteAttribute( "attrib" );

		XMLTest( "Programmatic DOM", true, doc->FirstChildElement()->FirstChildElement()->BoolAttribute( "attrib" ) );
		int value = 10;
		int result = doc->FirstChildElement()->LastChildElement()->QueryIntAttribute( "attrib", &value );
		XMLTest( "Programmatic DOM", result, (int)XML_NO_ATTRIBUTE );
		XMLTest( "Programmatic DOM", value, 10 );

		doc->Print();

		{
			XMLPrinter streamer;
			doc->Print( &streamer );
			printf( "%s", streamer.CStr() );
		}
		{
			XMLPrinter streamer( 0, true );
			doc->Print( &streamer );
			XMLTest( "Compact mode", "<element><sub attrib=\"1\"/><sub/></element>", streamer.CStr(), false );
		}
		doc->SaveFile( "./resources/out/pretty.xml" );
		doc->SaveFile( "./resources/out/compact.xml", true );
		delete doc;
	}
	{
		// Test: Dream
		// XML1 : 1,187,569 bytes	in 31,209 allocations
		// XML2 :   469,073	bytes	in    323 allocations
		//int newStart = gNew;
		XMLDocument doc;
		doc.LoadFile( "resources/dream.xml" );

		doc.SaveFile( "resources/out/dreamout.xml" );
		doc.PrintError();

		XMLTest( "Dream", "xml version=\"1.0\"",
						  doc.FirstChild()->ToDeclaration()->Value() );
		XMLTest( "Dream", true, doc.FirstChild()->NextSibling()->ToUnknown() ? true : false );
		XMLTest( "Dream", "DOCTYPE PLAY SYSTEM \"play.dtd\"",
						  doc.FirstChild()->NextSibling()->ToUnknown()->Value() );
		XMLTest( "Dream", "And Robin shall restore amends.",
						  doc.LastChild()->LastChild()->LastChild()->LastChild()->LastChildElement()->GetText() );
		XMLTest( "Dream", "And Robin shall restore amends.",
						  doc.LastChild()->LastChild()->LastChild()->LastChild()->LastChildElement()->GetText() );

		XMLDocument doc2;
		doc2.LoadFile( "resources/out/dreamout.xml" );
		XMLTest( "Dream-out", "xml version=\"1.0\"",
						  doc2.FirstChild()->ToDeclaration()->Value() );
		XMLTest( "Dream-out", true, doc2.FirstChild()->NextSibling()->ToUnknown() ? true : false );
		XMLTest( "Dream-out", "DOCTYPE PLAY SYSTEM \"play.dtd\"",
						  doc2.FirstChild()->NextSibling()->ToUnknown()->Value() );
		XMLTest( "Dream-out", "And Robin shall restore amends.",
						  doc2.LastChild()->LastChild()->LastChild()->LastChild()->LastChildElement()->GetText() );

		//gNewTotal = gNew - newStart;
	}


	{
		const char* error =	"<?xml version=\"1.0\" standalone=\"no\" ?>\n"
							"<passages count=\"006\" formatversion=\"20020620\">\n"
							"    <wrong error>\n"
							"</passages>";

		XMLDocument doc;
开发者ID:AlejandorLazaro,项目名称:tinyxml2,代码行数:67,代码来源:xmltest.cpp

示例5: main


//.........这里部分代码省略.........
		XMLTest( "Programmatic DOM", "& Text!", 
				 doc->FirstChildElement()->LastChildElement( "sub" )->FirstChild()->ToText()->Value() );

		// And now deletion:
		element->DeleteChild( sub[2] );
		doc->DeleteNode( comment );

		element->FirstChildElement()->SetAttribute( "attrib", true );
		element->LastChildElement()->DeleteAttribute( "attrib" );

		XMLTest( "Programmatic DOM", true, doc->FirstChildElement()->FirstChildElement()->BoolAttribute( "attrib" ) );
		int value = 10;
		int result = doc->FirstChildElement()->LastChildElement()->QueryIntAttribute( "attrib", &value );
		XMLTest( "Programmatic DOM", result, XML_NO_ATTRIBUTE );
		XMLTest( "Programmatic DOM", value, 10 );

		doc->Print();

		XMLPrinter streamer;
		doc->Print( &streamer );
		printf( "%s", streamer.CStr() );

		delete doc;
	}
	{
		// Test: Dream
		// XML1 : 1,187,569 bytes	in 31,209 allocations
		// XML2 :   469,073	bytes	in    323 allocations
		//int newStart = gNew;
		XMLDocument doc;
		doc.LoadFile( "dream.xml" );

		doc.SaveFile( "dreamout.xml" );
		doc.PrintError();

		XMLTest( "Dream", "xml version=\"1.0\"",
			              doc.FirstChild()->ToDeclaration()->Value() );
		XMLTest( "Dream", true, doc.FirstChild()->NextSibling()->ToUnknown() ? true : false );
		XMLTest( "Dream", "DOCTYPE PLAY SYSTEM \"play.dtd\"",
						  doc.FirstChild()->NextSibling()->ToUnknown()->Value() );
		XMLTest( "Dream", "And Robin shall restore amends.",
			              doc.LastChild()->LastChild()->LastChild()->LastChild()->LastChildElement()->GetText() );
		XMLTest( "Dream", "And Robin shall restore amends.",
			              doc.LastChild()->LastChild()->LastChild()->LastChild()->LastChildElement()->GetText() );

		XMLDocument doc2;
		doc2.LoadFile( "dreamout.xml" );
		XMLTest( "Dream-out", "xml version=\"1.0\"",
			              doc2.FirstChild()->ToDeclaration()->Value() );
		XMLTest( "Dream-out", true, doc2.FirstChild()->NextSibling()->ToUnknown() ? true : false );
		XMLTest( "Dream-out", "DOCTYPE PLAY SYSTEM \"play.dtd\"",
						  doc2.FirstChild()->NextSibling()->ToUnknown()->Value() );
		XMLTest( "Dream-out", "And Robin shall restore amends.",
			              doc2.LastChild()->LastChild()->LastChild()->LastChild()->LastChildElement()->GetText() );

		//gNewTotal = gNew - newStart;
	}


	{
		const char* error =	"<?xml version=\"1.0\" standalone=\"no\" ?>\n"
							"<passages count=\"006\" formatversion=\"20020620\">\n"
							"    <wrong error>\n"
							"</passages>";

		XMLDocument doc;
开发者ID:qaisjp,项目名称:green-candy,代码行数:67,代码来源:xmltest.cpp

示例6: load

int ColladaParser::load( const char* filename, Scene* scene ) {

  ifstream in( filename );
  if ( !in.is_open() ) {
    return -1;
  } in.close();
  
  XMLDocument doc;
  doc.LoadFile( filename );
  if ( doc.Error() ) {
    doc.PrintError();
    exit( 1 );
  }

  XMLElement* root = doc.FirstChildElement("COLLADA");
  if ( !root ) {
    stat("Error: not a COLLADA file!")
    exit( 1 );
  } else {
    stat("Loading COLLADA file...");
  }

  // save COLLADA library entry points
  e_scenes     = root->FirstChildElement("library_visual_scenes");
  e_cameras    = root->FirstChildElement("library_cameras"      );
  e_lights     = root->FirstChildElement("library_lights"       );
  e_geometries = root->FirstChildElement("library_geometries"   );
  e_materials  = root->FirstChildElement("library_materials"    );
  e_effects    = root->FirstChildElement("library_effects"      );

  // load assets
  XMLElement* e_asset = root->FirstChildElement("asset");
  if ( e_asset ) {

    // NOTE (sky):
    // We probably should take care of different Y directions here if we want
    // to support exports from different packages.
    XMLElement* up_axis = e_asset->FirstChildElement("up_axis");
    stat("Y direction: "<< up_axis->GetText());
  }

  // load scenes -
  XMLElement* e_scene = root->FirstChildElement("scene");
  if ( e_scene ) {

    XMLElement* e_instance = e_scene->FirstChildElement("instance_visual_scene");

    // NOTE (sky):
    // COLLADA seems to support multiple scenes in one file
    // right now the parser only loads the first scene

    // load all scenes
    // while (e_instance) {
    //   // load a single scene
    //   e_instance = e_scene->NextSiblingElement("instance_visual_scene");
    // }

    // load first scene
    if (e_instance) {

      const char* instance_url = e_instance->Attribute("url");
      if ( instance_url ) {

        // look for scene in scene library
        string instance_id = instance_url + 1;
        XMLElement* e_instance = find_instance( e_scenes, instance_id );
        if ( e_instance ) {
          stat("Loading scene: " << instance_id);
          
          parseScene(e_instance, *scene);
        } else {
          stat("Error: undefined scene instance: " << instance_id);
          return -1;
        }

      } else {

        // Note (Sky):
        // not sure if there are non-indirection encodings but
        // if there is then it should be handled here
        return 0;

      }
    }
  }

  return 0;

}
开发者ID:CS184-sp16,项目名称:asst2_geomenagerie,代码行数:89,代码来源:collada.cpp


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