2012-01-02 91 views
1

我不知道我在做什麼錯。我正在用C++編寫一個簡單的程序來使用TinyXml編輯xml配置文件。Tinyxml Set屬性

這裏是我的配置文件:

<?xml version="1.0" encoding="UTF-8"?> 
<config> 
    <video> 
     <fps state="notlimited"> 
      <limit value="60" /> 
     </fps> 
    </video> 
</config> 

這裏的代碼編輯文件的部分:

if (limitFPS) 
    { 
     cout << "Enter the FPS limit:" << endl; 

     cin >> fpsLimit; 

     TiXmlElement *fpsState = hConfig.FirstChildElement("config").FirstChildElement("video").FirstChildElement("fps").ToElement(); 
     fpsState->SetAttribute("state", "limited"); 

     TiXmlElement *fpsLimitElement = hConfig.FirstChildElement("config").FirstChildElement("video").FirstChildElement("fps").FirstChildElement("limit").ToElement(); 
     fpsLimitElement->SetAttribute("value", fpsLimit); 
    } 

如果用戶已經表示,他們希望限制FPS則屬性標記fps的「狀態」變爲有限。然後將限制的屬性「值」設置爲用戶指定的fps級別。

但是,當我運行該程序它不會改變指定的屬性。我查看了我的代碼,無法找到任何錯誤。此外,我沒有得到任何錯誤。

那麼我做錯了什麼?

+0

您是否確保事後寫出XML文件?從你的代碼片段中看不出來。 – berserkguard 2012-01-02 17:03:44

+0

我用.SaveFile(),它的工作。感謝您指出我的方向。 – drCoding 2012-01-02 17:19:39

回答