嗨 我想使用XML文件作爲配置文件,從中我將讀取我的應用程序的參數。我遇到過PugiXML庫,但是我有問題獲取屬性的值。 我的XML文件看起來像Parsin XML文件使用pugixml
<?xml version="1.0"?>
<settings>
<deltaDistance> </deltaDistance>
<deltaConvergence>0.25 </deltaConvergence>
<deltaMerging>1.0 </deltaMerging>
<m> 2</m>
<multiplicativeFactor>0.7 </multiplicativeFactor>
<rhoGood> 0.7 </rhoGood>
<rhoMin>0.3 </rhoMin>
<rhoSelect>0.6 </rhoSelect>
<stuckProbability>0.2 </stuckProbability>
<zoneOfInfluenceMin>2.25 </zoneOfInfluenceMin>
</settings>
削我使用此代碼
void ReadConfig(char* file)
{
pugi::xml_document doc;
if (!doc.load_file(file)) return false;
pugi::xml_node tools = doc.child("settings");
//[code_traverse_iter
for (pugi::xml_node_iterator it = tools.begin(); it != tools.end(); ++it)
{
cout<<it->name() << " " << it->attribute(it->name()).as_double();
}
}
,我也試圖用這種
void ReadConfig(char* file)
{
pugi::xml_document doc;
if (!doc.load_file(file)) return false;
pugi::xml_node tools = doc.child("settings");
//[code_traverse_iter
for (pugi::xml_node_iterator it = tools.begin(); it != tools.end(); ++it)
{
cout<<it->name() << " " << it->value();
}
}
屬性被corectly加載XML文件,但是所有的值都等於0.有人能告訴我我做錯了什麼嗎?
歡迎來到SO。要正確地使用XML格式,只要確保它至少縮進了4個空格(或者使用編輯器中的「{}」按鈕) – 2011-05-24 17:02:50