本文整理汇总了C++中XMLDocument::Print方法的典型用法代码示例。如果您正苦于以下问题:C++ XMLDocument::Print方法的具体用法?C++ XMLDocument::Print怎么用?C++ XMLDocument::Print使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XMLDocument
的用法示例。
在下文中一共展示了XMLDocument::Print方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: example_5
void example_5()
{
printf( "XML Example 5\n" );
// Test: Programmatic DOM
// Build:
// <element>
// <!--comment-->
// <sub attrib="1" />
// <sub attrib="2" />
// <sub attrib="3" >& Text!</sub>
// <element>
XMLDocument* doc = new XMLDocument();
XMLNode* element = doc->InsertEndChild( doc->NewElement( "element" ) );
XMLElement* sub[3] = { doc->NewElement( "sub" ), doc->NewElement( "sub" ), doc->NewElement( "sub" ) };
for( int i=0; i<3; ++i ) {
sub[i]->SetAttribute( "attrib", i );
}
element->InsertEndChild( sub[2] );
XMLNode* comment = element->InsertFirstChild( doc->NewComment( "comment" ) );
element->InsertAfterChild( comment, sub[0] );
element->InsertAfterChild( sub[0], sub[1] );
sub[2]->InsertFirstChild( doc->NewText( "& Text!" ));
doc->Print();
doc->SaveFile( "pretty.xml" );
doc->SaveFile( "compact.xml", true );
delete doc;
}
示例2: doc
int main (void) {
XMLDocument doc (false);
doc.Parse (input);
std::cout << "INPUT:\n" << input << "\n\n";
XMLPrinter prn (NULL, true);
doc.Print (&prn);
std::cout << "XMLPrinter (not valid HTML5):\n" << prn.CStr() << "\n\n";
XMLPrinterHTML5 html5 (NULL, true);
doc.Print (&html5);
std::cout << "XMLPrinterHTML5:\n" << html5.CStr() << "\n";
return 0;
}
示例3: testPrintXML
void testPrintXML() {
XMLDocument doc;
XMLElement* root = doc.NewElement("root");
XMLElement* path = doc.NewElement("status");
XMLText* text = doc.NewText("0");
doc.InsertEndChild(root);
root->InsertEndChild(path);
path->InsertEndChild(text);
XMLPrinter printer(0, true);
doc.Print(&printer);
cout << printer.CStr() << endl;
}
示例4: testErrMsg
void testErrMsg() {
XMLDocument doc;
XMLElement* root;
XMLElement* node;
doc.InsertEndChild(root = doc.NewElement("root"));
root->InsertEndChild(node = doc.NewElement("status"));
node->InsertEndChild(doc.NewText("1"));
root->InsertEndChild(node = doc.NewElement("error"));
node->InsertEndChild(doc.NewText("hello world"));
XMLPrinter printer(0, true);
doc.Print(&printer);
cout << printer.CStr() << endl;
cout << printer.CStrSize() << endl;
cout << strlen(printer.CStr()) << endl;
}
示例5: main
void main() {
cout << string("£¡ÏÔʾ").length();
string line;
int i = 0;
char cCurrentPath[FILENAME_MAX];
if (!GetCurrentDir(cCurrentPath, sizeof(cCurrentPath)))
{
// return errno;
}
cCurrentPath[sizeof(cCurrentPath) - 1] = '\0'; /* not really required */
printf("The current working directory is %s", cCurrentPath);
ifstream myxml("LearnerDefs.xml");
defs.clear();
XMLDocument doc;
if (doc.LoadFile("LearnerDefs.xml")==0) {
doc.Print();
XMLElement *root = doc.RootElement();
for (XMLElement *child = root->FirstChildElement(); child; child = child->NextSiblingElement()) {
Def *def = new Def();
def->word = child->Attribute("word");
def->creator = std::stoi(child->Attribute("creator"));
def->definition = child->Value();
defs.push_back(*def);
i++;
}
}
list<Def>::iterator p;
for (p = defs.begin(); p != defs.end(); p++) {
cout << p->word << "," << p->definition << "," << p->creator << "\n";
}
getchar();
}
示例6: main
int main( int argc, const char ** argv )
{
#if defined( _MSC_VER ) && defined( DEBUG )
_CrtMemCheckpoint( &startMemState );
#endif
#if defined(_MSC_VER) || defined(MINGW32) || defined(__MINGW32__)
#if defined __MINGW64_VERSION_MAJOR && defined __MINGW64_VERSION_MINOR
//MINGW64: both 32 and 64-bit
mkdir( "resources/out/" );
#else
_mkdir( "resources/out/" );
#endif
#else
mkdir( "resources/out/", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
#endif
if ( argc > 1 ) {
XMLDocument* doc = new XMLDocument();
clock_t startTime = clock();
doc->LoadFile( argv[1] );
clock_t loadTime = clock();
int errorID = doc->ErrorID();
delete doc; doc = 0;
clock_t deleteTime = clock();
printf( "Test file '%s' loaded. ErrorID=%d\n", argv[1], errorID );
if ( !errorID ) {
printf( "Load time=%u\n", (unsigned)(loadTime - startTime) );
printf( "Delete time=%u\n", (unsigned)(deleteTime - loadTime) );
printf( "Total time=%u\n", (unsigned)(deleteTime - startTime) );
}
exit(0);
}
FILE* fp = fopen( "resources/dream.xml", "r" );
if ( !fp ) {
printf( "Error opening test file 'dream.xml'.\n"
"Is your working directory the same as where \n"
"the xmltest.cpp and dream.xml file are?\n\n"
#if defined( _MSC_VER )
"In windows Visual Studio you may need to set\n"
"Properties->Debugging->Working Directory to '..'\n"
#endif
);
exit( 1 );
}
fclose( fp );
XMLTest( "Example-1", 0, example_1() );
XMLTest( "Example-2", 0, example_2() );
XMLTest( "Example-3", 0, example_3() );
XMLTest( "Example-4", true, example_4() );
/* ------ Example 2: Lookup information. ---- */
{
static const char* test[] = { "<element />",
"<element></element>",
"<element><subelement/></element>",
"<element><subelement></subelement></element>",
"<element><subelement><subsub/></subelement></element>",
"<!--comment beside elements--><element><subelement></subelement></element>",
"<!--comment beside elements, this time with spaces--> \n <element> <subelement> \n </subelement> </element>",
"<element attrib1='foo' attrib2=\"bar\" ></element>",
"<element attrib1='foo' attrib2=\"bar\" ><subelement attrib3='yeehaa' /></element>",
"<element>Text inside element.</element>",
"<element><b></b></element>",
"<element>Text inside and <b>bolded</b> in the element.</element>",
"<outer><element>Text inside and <b>bolded</b> in the element.</element></outer>",
"<element>This & That.</element>",
"<element attrib='This<That' />",
0
};
for( int i=0; test[i]; ++i ) {
XMLDocument doc;
doc.Parse( test[i] );
doc.Print();
printf( "----------------------------------------------\n" );
}
}
#if 1
{
static const char* test = "<!--hello world\n"
" line 2\r"
" line 3\r\n"
" line 4\n\r"
" line 5\r-->";
XMLDocument doc;
doc.Parse( test );
doc.Print();
}
{
static const char* test = "<element>Text before.</element>";
XMLDocument doc;
doc.Parse( test );
XMLElement* root = doc.FirstChildElement();
XMLElement* newElement = doc.NewElement( "Subelement" );
//.........这里部分代码省略.........
示例7: main
int main( int /*argc*/, const char ** /*argv*/ )
{
#if defined( _MSC_VER ) && defined( DEBUG )
_CrtMemCheckpoint( &startMemState );
#endif
#if defined(_MSC_VER)
#pragma warning ( push )
#pragma warning ( disable : 4996 ) // Fail to see a compelling reason why this should be deprecated.
#endif
FILE* fp = fopen( "dream.xml", "r" );
if ( !fp ) {
printf( "Error opening test file 'dream.xml'.\n"
"Is your working directory the same as where \n"
"the xmltest.cpp and dream.xml file are?\n\n"
#if defined( _MSC_VER )
"In windows Visual Studio you may need to set\n"
"Properties->Debugging->Working Directory to '..'\n"
#endif
);
exit( 1 );
}
fclose( fp );
#if defined(_MSC_VER)
#pragma warning ( pop )
#endif
/* ------ Example 1: Load and parse an XML file. ---- */
{
XMLDocument doc;
doc.LoadFile( "dream.xml" );
}
/* ------ Example 2: Lookup information. ---- */
{
XMLDocument doc;
doc.LoadFile( "dream.xml" );
// Structure of the XML file:
// - Element "PLAY" the root Element
// - - Element "TITLE" child of the root PLAY Element
// - - - Text child of the TITLE Element
// Navigate to the title, using the convenience function, with a dangerous lack of error checking.
const char* title = doc.FirstChildElement( "PLAY" )->FirstChildElement( "TITLE" )->GetText();
printf( "Name of play (1): %s\n", title );
// Text is just another Node to TinyXML-2. The more general way to get to the XMLText:
XMLText* textNode = doc.FirstChildElement( "PLAY" )->FirstChildElement( "TITLE" )->FirstChild()->ToText();
title = textNode->Value();
printf( "Name of play (2): %s\n", title );
}
{
static const char* test[] = { "<element />",
"<element></element>",
"<element><subelement/></element>",
"<element><subelement></subelement></element>",
"<element><subelement><subsub/></subelement></element>",
"<!--comment beside elements--><element><subelement></subelement></element>",
"<!--comment beside elements, this time with spaces--> \n <element> <subelement> \n </subelement> </element>",
"<element attrib1='foo' attrib2=\"bar\" ></element>",
"<element attrib1='foo' attrib2=\"bar\" ><subelement attrib3='yeehaa' /></element>",
"<element>Text inside element.</element>",
"<element><b></b></element>",
"<element>Text inside and <b>bolded</b> in the element.</element>",
"<outer><element>Text inside and <b>bolded</b> in the element.</element></outer>",
"<element>This & That.</element>",
"<element attrib='This<That' />",
0
};
for( int i=0; test[i]; ++i ) {
XMLDocument doc;
doc.Parse( test[i] );
doc.Print();
printf( "----------------------------------------------\n" );
}
}
#if 1
{
static const char* test = "<!--hello world\n"
" line 2\r"
" line 3\r\n"
" line 4\n\r"
" line 5\r-->";
XMLDocument doc;
doc.Parse( test );
doc.Print();
}
{
static const char* test = "<element>Text before.</element>";
XMLDocument doc;
doc.Parse( test );
XMLElement* root = doc.FirstChildElement();
XMLElement* newElement = doc.NewElement( "Subelement" );
root->InsertEndChild( newElement );
//.........这里部分代码省略.........
示例8: giveBirthTo
//生成文件
void Xmller:: giveBirthTo(std::string xmlfile){
std::string filePath = FileUtils::getInstance()->getWritablePath() + xmlfile;
log("生成文件=%s",filePath.c_str());
XMLDocument *pDoc = new XMLDocument();
//xml 声明(参数可选)
XMLDeclaration *pDel = pDoc->NewDeclaration("xml version=\"1.0\" encoding=\"UTF-8\"");
pDoc->LinkEndChild(pDel);
//添加plist节点
XMLElement *plistElement = pDoc->NewElement("Chapters");
// plistElement->SetAttribute("version", "1.0");
pDoc->LinkEndChild(plistElement);
// XMLComment *commentElement = pDoc->NewComment("this is xml comment");
// plistElement->LinkEndChild(commentElement);
//添加dic节点
// XMLElement *dicElement = pDoc->NewElement("dic");
// plistElement->LinkEndChild(dicElement);
//添加key节点
// XMLElement *keyElement = pDoc->NewElement("key");
// keyElement->LinkEndChild(pDoc->NewText("Text"));
// dicElement->LinkEndChild(keyElement);
XMLElement *arrayElement = pDoc->NewElement("Chapter");
plistElement->LinkEndChild(arrayElement);
// for (int i = 0; i<3; i++) {
// XMLElement *elm = pDoc->NewElement("name");
// elm->LinkEndChild(pDoc->NewText("Cocos2d-x"));
// arrayElement->LinkEndChild(elm);
// }
XMLElement* elm = pDoc->NewElement("Level"); //标签
elm->LinkEndChild(pDoc->NewText("0")); //数值
arrayElement->LinkEndChild(elm);
XMLElement* elm1 = pDoc->NewElement("Score");
elm1->LinkEndChild(pDoc->NewText("0"));
arrayElement->LinkEndChild(elm1);
XMLElement* elm2 = pDoc->NewElement("BulletNumber");
elm2->LinkEndChild(pDoc->NewText("0"));
arrayElement->LinkEndChild(elm2);
XMLElement* elm3 = pDoc->NewElement("gun");
elm3->LinkEndChild(pDoc->NewText("0"));
arrayElement->LinkEndChild(elm3);
XMLElement* elm4 = pDoc->NewElement("level05");
elm4->LinkEndChild(pDoc->NewText("0"));
arrayElement->LinkEndChild(elm4);
XMLElement* elm5 = pDoc->NewElement("level06");
elm5->LinkEndChild(pDoc->NewText("0"));
arrayElement->LinkEndChild(elm5);
pDoc->SaveFile(filePath.c_str());
pDoc->Print();
delete pDoc;
}