Parsin XML-Datei mit pugixml

Hi
Ich will eine XML-Datei als config-Datei, aus der ich lese Parameter für meine Anwendung. Ich stieß auf PugiXML Bibliothek, aber ich habe ein problem mit dem bekommen Werte von Attributen.
Meine XML-Datei sieht, dass

<?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>

Kombiniere XML-Datei ich diesen code verwenden

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();  
    }

}

und ich war auch zu benutzen versuchen, diese

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();
    }

}

Attribute werden richtig geladen , aber alle Werte sind gleich 0. Könnte jemand mir sagen, was ich falsch mache ?

  • Willkommen ALSO. Haben XML-format korrekt, so stellen Sie sicher, dass es eingerückt mindestens 4 Leerzeichen (oder verwenden Sie den {} button im editor)
InformationsquelleAutor george | 2011-05-24
Schreibe einen Kommentar