TinyXml позволит вам делать то, что вы хотите, не повреждая содержимое файла (до тех пор, пока его действительный XML). Я только что проверил это, так что я совершенно уверен. Очевидно, что вы должны точно знать, какие атрибуты и теги вы хотите редактировать, но вы можете добавлять / редактировать теги, не затрагивая существующие атрибуты / теги / комментарии, даже внутри тегов, которые вы редактируете. Это займет некоторое время, пока вы не привыкнете к структуре, но это определенно возможно.
Вы должны знать структуру xml!
TiXmlDocument doc("filepath"); //will open your document
if (!doc.LoadFile()) //you do have to open the whole file
{
cout<<"No XML structure found"<<endl;
return; // exit function don't load anything
}
TiXmlElement *root = doc.RootElement(); //pointer to root element
Теперь вы можете использовать этот указатель и такие команды, как:
root->FirstChild("tageone")->ToElement();
tageone->SetDoubleAttribute("attribute", value);
чтобы изменить вещи.
Извините за поспешное объяснение, но вам нужно немного прочитать документацию, чтобы освоить его.
ура