本文整理汇总了C++中XMLElement::InsertEndChild方法的典型用法代码示例。如果您正苦于以下问题:C++ XMLElement::InsertEndChild方法的具体用法?C++ XMLElement::InsertEndChild怎么用?C++ XMLElement::InsertEndChild使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XMLElement
的用法示例。
在下文中一共展示了XMLElement::InsertEndChild方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: WriteToDoc
void OutputWriter::WriteToDoc(ResponseMsg response, XMLNode* node, const char* value){
std::string path = CommandManager::getPathOut();
tinyxml2::XMLDocument* doc = CommandManager::getDocOut();
//Searching root
XMLNode *root = node;
while(strcmp(root->Value(),"command")!=0)
{root=root->Parent();}
XMLText* textCode = doc->NewText((Utils::convertInt(response.getCode()).c_str()));
XMLText* textMessage = doc->NewText(response.getMessage());
XMLText* valueMessage = doc->NewText(value);
node->DeleteChildren();
XMLElement* codeElement = doc->NewElement("code");
node->InsertEndChild(codeElement);
XMLElement* messageElement = doc->NewElement("message");
node->InsertEndChild(messageElement);
XMLElement* valueElement = doc->NewElement("value"); //Insert the value
node->InsertEndChild(valueElement);
codeElement->InsertEndChild(textCode);
messageElement->InsertEndChild(textMessage);
valueElement->InsertEndChild(valueMessage);
XMLElement* commandsElement = doc->FirstChildElement("commands");
commandsElement->InsertEndChild(root);
}
示例2: return
bool
MovementComponent::serialize(XMLElement &n) const
{
if (!ComponentBase::serialize(n))
return(false);
XMLElement *l_acceleration = n.GetDocument()->NewElement("acceleration");
l_acceleration->SetAttribute("x", m_p->acceleration.x);
l_acceleration->SetAttribute("y", m_p->acceleration.y);
n.InsertEndChild(l_acceleration);
XMLElement *l_limit = n.GetDocument()->NewElement("limit");
l_limit->SetAttribute("x1", m_p->limit_x.first());
l_limit->SetAttribute("x2", m_p->limit_x.second());
l_limit->SetAttribute("y1", m_p->limit_y.first());
l_limit->SetAttribute("y2", m_p->limit_y.second());
n.InsertEndChild(l_limit);
XMLElement *l_velocity = n.GetDocument()->NewElement("velocity");
l_velocity->SetAttribute("x", m_p->velocity.x);
l_velocity->SetAttribute("y", m_p->velocity.y);
n.InsertEndChild(l_velocity);
return(true);
}
示例3:
void emu::Settings::CreateDefaultXml(char const * filename)
{
cpumode = "interpeter-slow";
gerenderer = "pspe4all-hal.video.OGL4";
XMLDocument xmlDoc;
XMLNode * pRoot = xmlDoc.NewElement("pspe4all");
xmlDoc.InsertFirstChild(pRoot);
XMLElement * pElement = xmlDoc.NewElement("GeneralSettings");
XMLElement * pListElement = xmlDoc.NewElement("CpuMode");
pListElement->SetText(cpumode.c_str());
pElement->InsertEndChild(pListElement);
XMLElement * pListElement2 = xmlDoc.NewElement("GeRenderer");
pListElement2->SetText(gerenderer.c_str());
pElement->InsertEndChild(pListElement2);
pRoot->InsertEndChild(pElement);
xmlDoc.SaveFile(filename);
}
示例4: save
void SystemSettings::save(const K::File& file) {
XMLDocument doc;
XMLElement* nRoot = doc.NewElement("KSynth");
XMLElement* nSettings = doc.NewElement("Settings");
doc.InsertFirstChild(nRoot);
nRoot->InsertEndChild(nSettings);
// the sound-sink
XMLElement* nSink = doc.NewElement("SoundSink");
nSink->SetAttribute("name", getSoundSink()->getName().c_str());
nSettings->InsertEndChild(nSink);
// refresh
XMLElement* nGui = doc.NewElement("GUI");
nSettings->InsertEndChild(nGui);
XMLElement* nGuiRefresh = doc.NewElement("Refresh");
nGuiRefresh->SetAttribute("ms", getGuiRefreshInterval());
nGui->InsertEndChild(nGuiRefresh);
doc.SaveFile( file.getAbsolutePath().c_str() );
}
示例5: newHighScore
void highscore::newHighScore(score *newHighScore)
{
// SAVE NEW SCORE DIRECTLY INTO XML FILE
// Load XML file
char scoreStr[10];
XMLDocument doc;
XMLElement *nodeTransversal;
doc.LoadFile("score.xml");
// Write its child first
XMLText *nameText = doc.NewText(newHighScore->readPlayerName().c_str());
XMLElement *name = doc.NewElement("name");
name->InsertEndChild(nameText);
sprintf(scoreStr, "%d", newHighScore->readScore());
XMLText *scoreText = doc.NewText(scoreStr);
XMLElement *score = doc.NewElement("score");
score->InsertEndChild(scoreText);
// Create new node
XMLElement* hs = doc.NewElement("hs");
hs->InsertEndChild(name);
hs->InsertEndChild(score);
doc.InsertEndChild(hs);
doc.SaveFile("score.xml");
}
示例6: build
bool Header::build(tinyxml2::XMLDocument &doc, tinyxml2::XMLElement *parent, const int number) const
{
if(!isBuildable() || !m_destinationNames.isBuildable())
return false;
XMLElement *elm = doc.NewElement(HEADER_BALISE_NAME.c_str());
if(elm == 0)
return false;
XMLElement* src = doc.NewElement(SRC_BALISE_NAME.c_str());
if(src == 0)
return false;
XMLElement* cmd = doc.NewElement(CMD_BALISE_NAME.c_str());
if(cmd == 0)
return false;
{
string str(escapeCharacters(m_sourceName));
src->SetText(str.c_str());
str = escapeCharacters(m_commandName);
cmd->SetText(str.c_str());
}
elm->InsertEndChild(src);
if(!m_destinationNames.build(doc, elm))
return false;
elm->InsertEndChild(cmd);
XMLElement *antecedant(0);
antecedant = (parent != 0 ? parent->FirstChildElement(HEADER_BALISE_NAME.c_str()) : doc.FirstChildElement(HEADER_BALISE_NAME.c_str()));
for(int i(0), c(number - 1); i < c && antecedant != 0; ++i)
antecedant = antecedant->NextSiblingElement(HEADER_BALISE_NAME.c_str());
if(parent != 0)
{
if(antecedant != 0)
parent->InsertAfterChild(antecedant, elm);
else
parent->InsertEndChild(elm);
}
else
{
if(antecedant != 0)
doc.InsertAfterChild(antecedant, elm);
else
doc.InsertEndChild(elm);
}
return true;
}
示例7: 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;
}
示例8: OnWrite
/**
* Write the current object
*/
void SessionTranslator::OnWrite( const Object * pObject, pcstr pszName, Context & ctxt, tinyxml2::XMLNode & elem )
{
const Session* psession = dynamic_cast< const Session*>(pObject);
if( psession == NULL)
throw TranslationException("SessionTranslator cannot cast Session object");
else if( psession->Id().length() == 0)
return;
XMLElement* pelemc = elem.GetDocument()->NewElement( pszName);
if( !psession->IsReference())
{
XMLElement* pelem;
//Write scenario
pelem = elem.GetDocument()->NewElement( "scenario");
pelem->SetText( psession->Scenario().c_str());
pelemc->InsertEndChild(pelem);
//Write campaign
pelem = elem.GetDocument()->NewElement( "campaign");
pelem->SetText( psession->Campaign().c_str());
pelemc->InsertEndChild(pelem);
//Write location
pelem = elem.GetDocument()->NewElement( "location");
char buff[128];
const Location& llh = psession->Location();
sprintf(buff,"%0.8lf", llh.Latitude());
pelem->SetAttribute("lat", buff);
sprintf(buff,"%0.8lf", llh.Longitude());
pelem->SetAttribute("lon", buff);
sprintf(buff,"%0.3lf", llh.Height());
pelem->SetAttribute("height", buff);
pelemc->InsertEndChild(pelem);
//Write conact
pelem = elem.GetDocument()->NewElement( "contact");
pelem->SetText( psession->Contact().c_str());
pelemc->InsertEndChild(pelem);
//Write poc
pelem = elem.GetDocument()->NewElement( "poc");
pelem->SetText( psession->Poc().c_str());
pelemc->InsertEndChild(pelem);
}
//Fill out id, artifacts, and comments last in accordance
//with schema.
WriteAttributedObject( *psession, ctxt, *pelemc);
elem.InsertEndChild( pelemc);
}
示例9: EditEntryInXML
void ComponentList::EditEntryInXML(Component& component)
{
component.xmlElement->DeleteChildren();
component.xmlElement->SetAttribute("name", component.name.c_str());
for (int i = 0; i < component.fields.size(); ++i)
{
XMLElement* newField = m_componentXMLDocument.NewElement("Field");
newField->SetAttribute("name", component.fields[i].name.c_str());
newField->SetAttribute("type", component.fields[i].valueType.c_str());
component.xmlElement->InsertEndChild(newField);
}
for (int i = 0; i < component.lists.size(); ++i)
{
XMLElement* newList = m_componentXMLDocument.NewElement("List");
newList->SetAttribute("name", component.lists[i].name.c_str());
newList->SetAttribute("entryname", component.lists[i].entryName.c_str());
for (int j = 0; j < component.lists[i].entries[0].fields.size(); ++j)
{
XMLElement* newField = m_componentXMLDocument.NewElement("Field");
newField->SetAttribute("name", component.lists[i].entries[0].fields[j].name.c_str());
newField->SetAttribute("type", component.lists[i].entries[0].fields[j].valueType.c_str());
newList->InsertEndChild(newField);
}
component.xmlElement->InsertEndChild(newList);
}
m_componentXMLDocument.SaveFile(m_xmlFilepath.c_str());
}
示例10: OnWrite
/**
* Write the current object
*/
void ChannelTranslator::OnWrite( const Object * pObject, pcstr pszName, Context & ctxt, tinyxml2::XMLNode & elem )
{
const Channel* pchannel = dynamic_cast< const Channel*>(pObject);
if( pchannel == NULL)
throw TranslationException("ChannelTranslator cannot cast Channel object");
XMLElement* pelemc = elem.GetDocument()->NewElement( pszName);
if( !pchannel->IsReference())
{
XMLElement* pelem;
//Write CenterFrequency
WriteElement( &pchannel->CenterFrequency(), "centerfreq", ctxt, *pelemc);
//Write Translated Frequency
WriteElement( &pchannel->TranslatedFrequency(), "translatedfreq", ctxt, *pelemc);
//Inverted Element
pelem = elem.GetDocument()->NewElement( "inverted");
pelem->SetText( (pchannel->Inverted())? "true":"false");
pelemc->InsertEndChild( pelem);
//delaybias
WriteElement( &pchannel->DelayBias(), "delaybias", ctxt, *pelemc);
//System
WriteElement( &pchannel->System(), "system", ctxt, *pelemc);
}
//Fill out id, artifacts, and comments last in accordance
//with schema.
WriteAttributedObject( *pchannel, ctxt, *pelemc);
elem.InsertEndChild( pelemc);
}
示例11: 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;
}
示例12: WriteCommandNotFormat
void OutputWriter::WriteCommandNotFormat(){
std::string path = CommandManager::getPathOut();
tinyxml2::XMLDocument* doc = CommandManager::getDocOut();
XMLNode *root = doc->NewElement("command");
XMLText* textCode = doc->NewText((Utils::convertInt(CAMERROR_VALUE_UNKNOWN)).c_str());
XMLElement* codeElement = doc->NewElement("code");
root->InsertEndChild(codeElement);
codeElement->InsertEndChild(textCode);
XMLElement* commandsElement = doc->FirstChildElement("commands");
commandsElement->InsertEndChild(root);
}
示例13: writeDictItem
void Configure::writeDictItem(int item)
{
if (item > DICTNODE_NUM_MAX)
return;
SpinLock lock(m_cs);
XMLElement* dictElement = XMLHandle(m_doc.RootElement()).FirstChildElement("dict").ToElement();
XMLElement* e = util::XMLUtil::Child(dictElement, item);
if (e == NULL) {
e = m_doc.NewElement("d");
e->SetAttribute("open", m_dictNodes[item].open.c_str());
e->SetAttribute("en", m_dictNodes[item].en);
XMLElement* textE = m_doc.NewElement("summary");
textE->InsertFirstChild(m_doc.NewText(m_dictNodes[item].summary.c_str()));
e->InsertFirstChild(textE);
textE = m_doc.NewElement("path");
textE->InsertFirstChild(m_doc.NewText(m_dictNodes[item].path.c_str()));
e->InsertFirstChild(textE);
textE = m_doc.NewElement("name");
textE->InsertFirstChild(m_doc.NewText(m_dictNodes[item].name.c_str()));
e->InsertFirstChild(textE);
textE = m_doc.NewElement("detlan");
textE->InsertFirstChild(m_doc.NewText(m_dictNodes[item].detlan.c_str()));
e->InsertFirstChild(textE);
textE = m_doc.NewElement("srclan");
textE->InsertFirstChild(m_doc.NewText(m_dictNodes[item].srclan.c_str()));
e->InsertFirstChild(textE);
dictElement->InsertEndChild(e);
} else {
e->SetAttribute("open", m_dictNodes[item].open.c_str());
e->SetAttribute("en", m_dictNodes[item].en);
XMLText* txt = e->FirstChildElement("path")->FirstChild()->ToText();
txt->SetValue(m_dictNodes[item].path.c_str());
txt = e->FirstChildElement("name")->FirstChild()->ToText();
txt->SetValue(m_dictNodes[item].name.c_str());
txt = XMLHandle(e).FirstChildElement("detlan").FirstChild().ToText();
if (txt)
txt->SetValue(m_dictNodes[item].detlan.c_str());
txt = XMLHandle(e).FirstChildElement("srclan").FirstChild().ToText();
if (txt)
txt->SetValue(m_dictNodes[item].srclan.c_str());
txt = XMLHandle(e).FirstChildElement("summary").FirstChild().ToText();
if (txt)
txt->SetValue(m_dictNodes[item].summary.c_str());
}
/*printf("writeDictItem(%s): %d, %s -> %s\n", ndname.c_str(),
item, m_dictNodes[item].srclan.c_str(), m_dictNodes[item].detlan.c_str());*/
m_dirty = true;
}
示例14: 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();
}
}
示例15: WriteInitOutput
void OutputWriter::WriteInitOutput(ResponseMsg response){
std::string path = CommandManager::getPathOut();
tinyxml2::XMLDocument* doc = CommandManager::getDocOut();
doc->Clear(); //Clear all text
XMLNode *root = doc->NewElement("init");
XMLText* textCode = doc->NewText((Utils::convertInt(response.getCode()).c_str()));
XMLText* textMessage = doc->NewText(response.getMessage());
XMLElement* codeElement = doc->NewElement("code");
root->InsertEndChild(codeElement);
XMLElement* messageElement = doc->NewElement("message");
root->InsertEndChild(messageElement);
codeElement->InsertEndChild(textCode);
messageElement->InsertEndChild(textMessage);
doc->InsertEndChild(root);
doc->SaveFile(path.c_str());
}