2012-01-02 94 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

回答