本文整理汇总了C++中XMLPrinter类的典型用法代码示例。如果您正苦于以下问题:C++ XMLPrinter类的具体用法?C++ XMLPrinter怎么用?C++ XMLPrinter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了XMLPrinter类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: VToString
// *******************************************************************************************************************
cString cXMLNode::VToString() const
{
XMLPrinter printer;
m_pDoc->Accept(&printer);
return printer.CStr();
}
开发者ID:AnkurSheel,项目名称:RoutePlanner,代码行数:8,代码来源:XMLNode.cpp
示例2: save
void QDomDocument::save(QTextStream& stream,int)
{
if ( document )
{
XMLPrinter printer;
document->Print(&printer);
stream << printer.CStr();
}
}
开发者ID:gonboy,项目名称:aqemu,代码行数:9,代码来源:QDom.cpp
示例3: GetName
void
GameObject::Save( XMLPrinter & p )
{
p.OpenElement("Item");
p.PushAttribute("name", GetName().c_str());
p.PushAttribute("id", GetId().c_str());
p.PushAttribute("description", GetDescription().c_str());
p.PushAttribute("match", GetNamePattern().str().c_str());
SaveProperties(p);
p.CloseElement();
}
开发者ID:Caennalla,项目名称:sdlcoursetasks,代码行数:12,代码来源:GameObject.cpp
示例4: while
void ReminderManager::Save()
{
ReminderQueue queue;
// Create the document
tinyxml2::XMLDocument document;
XMLDeclaration *declaration = document.NewDeclaration();
document.InsertEndChild(declaration);
// Create the root node (<reminders>)
XMLElement *rootElement = document.NewElement("reminders");
document.InsertEndChild(rootElement);
g_vbox->Log(ADDON::LOG_INFO, "Save(1): %u reminders", m_reminders.size());
// Create one <reminder> for every reminder
while (!m_reminders.empty())
{
ReminderPtr reminder = m_reminders.top();
g_vbox->Log(ADDON::LOG_INFO, "Save(2): got reminder", m_reminders.size());
XMLElement *reminderElement = document.NewElement("reminder");
reminderElement->SetText(reminder->m_progName.c_str());
reminderElement->SetAttribute("channel", reminder->m_channelXmltvName.c_str());
reminderElement->SetAttribute("start-time", g_vbox->CreateTimestamp(reminder->m_startTime).c_str());
rootElement->InsertFirstChild(reminderElement);
m_reminders.pop();
g_vbox->Log(ADDON::LOG_INFO, "Save(3): popped. Now pushing to queue", m_reminders.size());
queue.push(reminder);
}
g_vbox->Log(ADDON::LOG_INFO, "Save(4): queue size %d, m_reminders size %d", queue.size(), m_reminders.size());
m_reminders = queue;
g_vbox->Log(ADDON::LOG_INFO, "Save(5): queue size %d, m_reminders size %d", queue.size(), m_reminders.size());
XBMC->DeleteFile(REMINDERS_XML.c_str());
// Save the file
void *fileHandle = XBMC->OpenFileForWrite(REMINDERS_XML.c_str(), false);
if (fileHandle)
{
XMLPrinter printer;
document.Accept(&printer);
//XBMC->TruncateFile()
std::string xml = printer.CStr();
XBMC->WriteFile(fileHandle, xml.c_str(), xml.length());
XBMC->CloseFile(fileHandle);
}
}
开发者ID:relipo,项目名称:pvr.vbox,代码行数:48,代码来源:ReminderManager.cpp
示例5: main
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;
}
开发者ID:ARTSAT,项目名称:ground_station,代码行数:16,代码来源:html5-printer.cpp
示例6: print
void iCubTestMotorsStictionIncrementalReportEntry::print(XMLPrinter& printer)
{
printer.xmlOpen("output");
if (!m_Name.empty())
{
printer.xml("name",m_Name.c_str());
}
if (!m_trial.empty())
{
printer.xml("trial",m_trial.c_str());
}
if (!m_PWM.empty())
{
printer.xml("PWM",m_PWM.c_str());
}
if (!m_PWM.empty())
{
printer.xml("displacement",m_displacement.c_str());
}
if (!m_PWM.empty())
{
printer.xml("speed",m_speed.c_str());
}
printer.xmlClose();
}
开发者ID:Karma-Revolutions,项目名称:icub-main,代码行数:26,代码来源:TestMotorsStictionIncrementalReportEntry.cpp
示例7: writeToFile
void CSettings::writeToFile() {
XMLDocument doc;
XMLElement *pSettingsElem = doc.NewElement("settings");
doc.InsertEndChild(pSettingsElem);
// Input
XMLElement *pInput = doc.NewElement("input");
pSettingsElem->InsertEndChild(pInput);
pInput->SetAttribute("map_editor_button_size",
m_InputSettings.m_fMapEditorButtonSize);
XMLElement *pInputTouch = doc.NewElement("touch");
pInput->InsertEndChild(pInputTouch);
pInputTouch->SetAttribute("button_size", m_InputSettings.m_fTouchButtonSize);
// video
XMLElement *pVideo = doc.NewElement("video");
pSettingsElem->InsertEndChild(pVideo);
pVideo->SetAttribute("hud_size", m_VideoSettings.m_fHUDSize);
// social gaming
XMLElement *pSocialGaming = doc.NewElement("social_gaming");
pSettingsElem->InsertEndChild(pSocialGaming);
pSocialGaming->SetAttribute("login_on_start", m_SocialGamingSettings.m_bLoginOnStart ? "true" : "false");
// do the output
XMLPrinter xmlprinter;
doc.Accept(&xmlprinter);
std::string header("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
std::string text(xmlprinter.CStr());
std::fstream stream;
if (CFileManager::openFile(stream, SETTINGS_FILE_PATH, std::ofstream::out | std::ofstream::trunc)) {
stream << header;
stream << text;
stream.close();
}
}
开发者ID:ChWick,项目名称:Mencus,代码行数:44,代码来源:Settings.cpp
示例8: GetName
void
Player::Save( XMLPrinter & p )
{
p.OpenElement("Player");
p.PushAttribute("name", GetName().c_str());
p.PushAttribute("id", GetId().c_str());
p.PushAttribute("description", GetDescription().c_str());
p.OpenElement("Items");
for(auto i : GetItems() ) i->Save(p);
p.CloseElement();
SaveProperties(p);
p.CloseElement();
}
开发者ID:jjalo,项目名称:SDL,代码行数:13,代码来源:Player.cpp
示例9:
void
GameObject::SaveProperties( XMLPrinter & p )
{
p.OpenElement("Properties");
for(auto property : GetProperties())
{
p.OpenElement("Property");
p.PushAttribute("id",property.second->GetId().c_str());
p.PushAttribute("type", "string");
string tmp = (*property.second).As<string>();
p.PushAttribute("value", tmp.c_str());
p.CloseElement();
}
p.CloseElement();
}
开发者ID:Caennalla,项目名称:sdlcoursetasks,代码行数:15,代码来源:GameObject.cpp
示例10: main
//.........这里部分代码省略.........
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();
XMLTest( "Programmatic DOM", "comment", doc->FirstChildElement( "element" )->FirstChild()->Value() );
XMLTest( "Programmatic DOM", "0", doc->FirstChildElement( "element" )->FirstChildElement()->Attribute( "attrib" ) );
XMLTest( "Programmatic DOM", 2, doc->FirstChildElement()->LastChildElement( "sub" )->IntAttribute( "attrib" ) );
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, (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() );
开发者ID:AlejandorLazaro,项目名称:tinyxml2,代码行数:67,代码来源:xmltest.cpp
示例11: main
//.........这里部分代码省略.........
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();
XMLTest( "Programmatic DOM", "comment", doc->FirstChildElement( "element" )->FirstChild()->Value() );
XMLTest( "Programmatic DOM", "0", doc->FirstChildElement( "element" )->FirstChildElement()->Attribute( "attrib" ) );
XMLTest( "Programmatic DOM", 2, doc->FirstChildElement()->LastChildElement( "sub" )->IntAttribute( "attrib" ) );
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\"",
开发者ID:qaisjp,项目名称:green-candy,代码行数:67,代码来源:xmltest.cpp
示例12: SaveToString
std::string Document::SaveToString() const
{
XMLPrinter printer;
m_pDoc->Accept(&printer);
return printer.CStr();
}
开发者ID:molip,项目名称:libKernel,代码行数:6,代码来源:Xml.cpp
示例13: Reject
//---------------------------------------------------------------------------
void File_Ttml::Read_Buffer_Continue()
{
tinyxml2::XMLDocument document;
if (!FileHeader_Begin_XML(document))
return;
XMLElement* Root=document.FirstChildElement("tt");
if (!Root)
{
Reject();
return;
}
if (!Status[IsAccepted])
{
Accept();
#if MEDIAINFO_EVENTS
MuxingMode=(int8u)-1;
if (StreamIDs_Size>=2 && ParserIDs[StreamIDs_Size-2]==MediaInfo_Parser_Mpeg4)
MuxingMode=11; //MPEG-4
if (StreamIDs_Size>2 && ParserIDs[StreamIDs_Size-2]==MediaInfo_Parser_Mxf) //Only if referenced MXF
MuxingMode=13; //MXF
#endif //MEDIAINFO_EVENTS
#if MEDIAINFO_DEMUX && MEDIAINFO_NEXTPACKET
if (Config->NextPacket_Get() && Config->Event_CallBackFunction_IsSet())
return; // Waiting for NextPacket
#endif //MEDIAINFO_DEMUX && MEDIAINFO_NEXTPACKET
}
tinyxml2::XMLElement* div=NULL;
#if MEDIAINFO_EVENTS
tinyxml2::XMLElement* p=NULL;
#endif //MEDIAINFO_EVENTS
for (XMLElement* tt_element=Root->FirstChildElement(); tt_element; tt_element=tt_element->NextSiblingElement())
{
//body
if (!strcmp(tt_element->Value(), "body"))
{
for (XMLElement* body_element=tt_element->FirstChildElement(); body_element; body_element=body_element->NextSiblingElement())
{
//div
if (!strcmp(body_element->Value(), "div"))
{
for (XMLElement* div_element=body_element->FirstChildElement(); div_element; div_element=div_element->NextSiblingElement())
{
//p
if (!strcmp(div_element->Value(), "p"))
{
div=body_element;
#if MEDIAINFO_EVENTS
p=div_element;
#endif //MEDIAINFO_EVENTS
break;
}
}
if (div)
break;
}
}
if (div)
break;
}
}
#if MEDIAINFO_DEMUX
Demux(Buffer, Buffer_Size, ContentType_MainStream);
#endif //MEDIAINFO_DEMUX
// Output
#if MEDIAINFO_EVENTS
for (; p; p=p->NextSiblingElement())
{
//p
if (!strcmp(p->Value(), "p"))
{
int64u DTS_Begin=(int64u)-1;
const char* Attribute=p->Attribute("begin");
if (Attribute)
DTS_Begin=Ttml_str2timecode(Attribute);
int64u DTS_End=(int64u)-1;
Attribute=p->Attribute("end");
if (Attribute)
DTS_End=Ttml_str2timecode(Attribute);
string ContentUtf8;
XMLPrinter printer;
p->Accept(&printer);
ContentUtf8+=printer.CStr();
while (!ContentUtf8.empty() && (ContentUtf8[ContentUtf8.size()-1]=='\r' || ContentUtf8[ContentUtf8.size()-1]=='\n'))
ContentUtf8.resize(ContentUtf8.size()-1);
Ztring Content; Content.From_UTF8(ContentUtf8.c_str());
Frame_Count_NotParsedIncluded=Frame_Count;
EVENT_BEGIN (Global, SimpleText, 0)
//Hack: remove "p", "span", "br"
//.........这里部分代码省略.........
开发者ID:pavel-pimenov,项目名称:sandbox,代码行数:101,代码来源:File_Ttml.cpp
示例14: print
void iCubTestMotorsStictionReportEntry::print(XMLPrinter& printer)
{
printer.xmlOpen("output");
if (!m_Name.empty())
{
printer.xml("name",m_Name.c_str());
}
if (!m_Result.empty())
{
printer.xml("result",m_Result.c_str());
}
if (!m_PWM.empty())
{
printer.xml("PWM",m_PWM.c_str());
}
if (!m_MinLim.empty())
{
printer.xml("MinLim",m_MinLim.c_str());
}
if (!m_MinLimReached.empty())
{
printer.xml("MinLimReached",m_MinLimReached.c_str());
}
if (!m_MaxLim.empty())
{
printer.xml("MaxLim",m_MaxLim.c_str());
}
if (!m_MaxLimReached.empty())
{
printer.xml("MaxLimReached",m_MaxLimReached.c_str());
}
if (!m_Tolerance.empty())
{
printer.xml("Tolerance",m_Tolerance.c_str());
}
if (!m_Timeout.empty())
{
printer.xml("Timeout",m_Timeout.c_str());
}
printer.xmlClose();
}
开发者ID:Karma-Revolutions,项目名称:icub-main,代码行数:41,代码来源:TestMotorsStictionReportEntry.cpp
注:本文中的XMLPrinter类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论