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


C++ XMLElement::Duplicate方法代码示例

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


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

示例1: main


//.........这里部分代码省略.........
	 {
	 // Add some variables
	 el->AddVariable(new XMLVariable("somename","somevalue"));
	 // Note that the new XMLVariable we added is now owned by el

	 // Export only this element
	 el->Export(stdout,1,XML_SAVE_MODE_ZERO); // this prints <testel somename="somevalue"/>
	 }

 // Find an element that may not exist, get its variable X that may not exist, get 
 // a default value of 0
 int v = r->FindElementZ("elx",true)->FindVariableZ("varx",true)->GetValueInt();
 // Set it to 5, set some more
 r->FindElementZ("elx",true)->FindVariableZ("varx",true)->SetValueInt(5);
 r->FindElementZ("elx",true)->FindVariableZ("varx2",true)->SetValueInt(10);
 // Printout it
 // This would print: <elx varx="5" varx2="10"/>
 r->FindElementZ("elx",true)->Export(stdout,1,XML_SAVE_MODE_ZERO);

 // Remove the var we just added
 int ix = r->FindElement("elx");
 if (ix != -1)
	 r->RemoveVariable(ix);

 // Other XMLElement functions
 r->Copy(); // Copy entire thing to windows clipboard

 XMLElement* nP = XML::Paste();
 if (nP)
	 {
	 fprintf(stdout,"Successfully copy/paste from clipboard.\r\n");
	 delete nP; // This nP is not owned by x, so we must delete it!
	 }

 // Get a duplicate
 XMLElement* dup = r->Duplicate();
 if (dup)
	 delete dup;

 // Add a comment to the root element
 int nComments = r->AddComment(new XMLComment(0,0,"Nice comment"),0); 

 // Add same comment to the header
 x->GetHeader()->AddComment(x->GetRootElement()->GetComments()[nComments - 1]->Duplicate(),0);

 // Use XMLSetString, XMLSetBinaryData
 XMLSetString("El1\\El2\\El3","var1","x",0,x);

 RECT rc = {0};
 GetWindowRect(GetDesktopWindow(),&rc);
 XMLSetBinaryData("El1\\El2\\El3","var2",(char*)&rc,sizeof(rc),0,x);

 // Get again
 RECT rc2 = {0};
 XMLGetBinaryData("El1\\El2\\El3","var2",(char*)&rc2,(char*)&rc2,sizeof(rc2),0,x);
 if (memcmp(&rc,&rc2,sizeof(rc)) != 0)
	 fprintf(stderr,"Error in binary data transfer!\r\n");
 else
	 fprintf(stdout,"Binary data transfer OK!\r\n");

 // Import database in cdrom.mdb
 // Careful; not tested with ACCESS 2007
 /*IMPORTDBPARAMS dbp = {0};
 char f[300] = {0};
 GetCurrentDirectory(300,f);
 strcat(f,"\\cdrom.mdb");
 dbp.dbname = f;
 dbp.nTables = 1;
 dbp.provstr = 0; // use default
 IMPORTDBTABLEDATA tbl = {0};
 strcpy(tbl.name,"Collection"); // Table name in MDB
 strcpy(tbl.itemname,"v");  // Default name for out elements
 tbl.nVariables = 4; // ID , CD , Name , Comments
 char* v1[] = {"ID","CD","Name","Comments"};
 char* v2[] = {"ID","CD","Name","Comments"};
 tbl.Variables = v1;
 tbl.ReplaceVariables = v2; // In case we want different name
 dbp.Tables = &tbl;
 XMLElement* d = 0;
 d = XML::ImportDB(&dbp); 
 if (d && d->IntegrityTest())
	 {
	 d->Export(stdout,1,0);
	 delete d;
	 }
*/

 // XML object save
 // Manipulate export format
 XMLEXPORTFORMAT xf = {0};
 xf.UseSpace = true;
 xf.nId = 2;
 x->SetExportFormatting(&xf);
 if (x->Save(f2) == 1)
	fprintf(stdout,"%s saved.\r\n",f2);

 // XML object bye bye
 delete x;
    std::cin.get();
 }
开发者ID:visusnet,项目名称:Blobby-Warriors,代码行数:101,代码来源:xmltest.cpp


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