編輯: 如何使用tinyxml序列化xml?TinyXml如何序列化
TiXmlDocument doc;
TiXmlElement * root;
root = new TiXmlElement("Data");
doc.SaveFile("madeByHand.xml");
問題2:我可以反序列化我使用同一個庫tinyxml創建的xml嗎?它有這個優勢嗎?
編輯: 如何使用tinyxml序列化xml?TinyXml如何序列化
TiXmlDocument doc;
TiXmlElement * root;
root = new TiXmlElement("Data");
doc.SaveFile("madeByHand.xml");
問題2:我可以反序列化我使用同一個庫tinyxml創建的xml嗎?它有這個優勢嗎?
您是否試過閱讀the documentation?第一頁上有打印功能的詳細信息。這些文檔鏈接到a tutorial具有寫入和讀取文件的例子:
#include <string>
#include <map>
using namespace std;
typedef std::map<std::string,std::string> MessageMap;
// a basic window abstraction - demo purposes only
class WindowSettings
{
public:
int x,y,w,h;
string name;
WindowSettings()
: x(0), y(0), w(100), h(100), name("Untitled")
{
}
WindowSettings(int x, int y, int w, int h, const string& name)
{
this->x=x;
this->y=y;
this->w=w;
this->h=h;
this->name=name;
}
};
class ConnectionSettings
{
public:
string ip;
double timeout;
};
class AppSettings
{
public:
string m_name;
MessageMap m_messages;
list<WindowSettings> m_windows;
ConnectionSettings m_connection;
AppSettings() {}
void save(const char* pFilename);
void load(const char* pFilename);
// just to show how to do it
void setDemoValues()
{
m_name="MyApp";
m_messages.clear();
m_messages["Welcome"]="Welcome to "+m_name;
m_messages["Farewell"]="Thank you for using "+m_name;
m_windows.clear();
m_windows.push_back(WindowSettings(15,15,400,250,"Main"));
m_connection.ip="Unknown";
m_connection.timeout=123.456;
}
};
int main(void)
{
// block: customise and save settings
{
AppSettings settings;
settings.m_name="HitchHikerApp";
settings.m_messages["Welcome"]="Don't Panic";
settings.m_messages["Farewell"]="Thanks for all the fish";
settings.m_windows.push_back(WindowSettings(15,25,300,250,"BookFrame"));
settings.m_connection.ip="192.168.0.77";
settings.m_connection.timeout=42.0;
settings.save("appsettings2.xml");
}
// block: load settings
{
AppSettings settings;
settings.load("appsettings2.xml");
printf("%s: %s\n", settings.m_name.c_str(),
settings.m_messages["Welcome"].c_str());
WindowSettings & w=settings.m_windows.front();
printf("%s: Show window '%s' at %d,%d (%d x %d)\n",
settings.m_name.c_str(), w.name.c_str(), w.x, w.y, w.w, w.h);
printf("%s: %s\n", settings.m_name.c_str(), settings.m_messages["Farewell"].c_str());
}
return 0;
}
你能告訴我如何序列化xml嗎? – 2011-05-16 12:24:17
@just me:你可以閱讀文檔嗎?或者你只是想衆包你的應用程序? – Johnsyweb 2011-05-16 12:27:10
請停止加入'C++'標籤來您的文章的標題 - 沒有必要爲它,那是怎樣的標籤字段是爲。 – slugster 2011-05-16 12:21:34
這裏有很多問題(以及其他未解決的問題)!您是否閱讀過[TinyXML文檔](http://www.grinninglizard.com/tinyxmldocs/index.html)? – Johnsyweb 2011-05-16 12:22:55
我編輯了我的帖子:)。需要一些答案 – 2011-05-16 12:26:00