Ma question est la suivante: est-il possible de modifier les données dans un élément xml?Mise à jour des données dans un petit élément XML
Ce que je veux faire est de changer les données dans l'élément en fonction de quel bouton est pressé. Je l'ai actuellement en train de lire et d'écrire dans le fichier xml, mais je veux le changer, écrire un nouvel élément la première fois et ensuite éditer l'élément comme il continue à écrire un nouvel élément à chaque fois.
Ceci est mon code actuel pour écrire le nouvel élément
if (doc.LoadFile(XMLDOC) == tinyxml2::XML_SUCCESS){
//Get Root Node
tinyxml2::XMLElement* rootNode = doc.FirstChildElement();//Assets
//Get Next Node
tinyxml2::XMLElement* childNode = rootNode->FirstChildElement();//imagePaths
//Temp Element
tinyxml2::XMLElement* temp = nullptr;
tinyxml2::XMLElement* temp2 = childNode->FirstChildElement();//path
while (temp2 != nullptr){
temp = temp2;
temp2 = temp2->NextSiblingElement("path");
}
if (temp != nullptr){
//write the text
tinyxml2::XMLComment* newComment = doc.NewComment("Selected Player");
tinyxml2::XMLElement* newElement = doc.NewElement("path");
//get text passed in
newElement->SetText(choice.c_str());
newElement->SetAttribute("name", "selected_player");
childNode->InsertAfterChild(temp, newComment);
childNode->InsertAfterChild(newComment, newElement);
}
//doc.Print();
doc.SaveFile(XMLDOC);
}
else{
std::cout << "Could Not Load XML Document : %s" << XMLDOC << std::endl;
}
}
Merci d'avoir contribué à l'avance
Merci pour l'aide pas exactement ce dont j'ai besoin, mais a la fonctionnalité dont j'ai besoin. Devrait pouvoir obtenir ce que je veux travailler de lui. –
Après un examen plus approfondi, cela fonctionne parfaitement pour moi .. juste besoin d'ajouter un élément par défaut à mon fichier xml en premier. –