【发布时间】:2011-09-01 02:57:29
【问题描述】:
嗨 我想使用 XML 文件作为配置文件,我将从中读取应用程序的参数。我遇到了 PugiXML 库,但是在获取属性值时遇到了问题。 我的 XML 文件是这样的
<?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>
为了解析 XML 文件,我使用此代码
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();
}
}
属性是正确加载的,但是所有值都等于 0。有人可以告诉我我做错了什么吗?
【问题讨论】:
-
欢迎来到 SO。要正确使用 XML 格式,只需确保缩进至少 4 个空格(或使用编辑器中的
{}按钮)
标签: c++ xml parsing xml-parsing