root Element XML



  • Hi zusammen, ich habe ein kleines Problem mit tinyXml.
    Ich habe mir 3 Elemente gebastelt, welchen ich im weiteren Programmverlauf noch weitere Hinzufüge. Das klappt auch alles Wunderbar.
    Jetzt würde ich nur gerne ein root Element drumpacken und habe das versucht wie folgt zu lösen:

    TiXmlDocument doc;
        TiXmlDeclaration * decl = new TiXmlDeclaration( "1.0", "", "" );
        doc.LinkEndChild( decl );
    
        TiXmlElement * root = new TiXmlElement("Wago");
        doc.LinkEndChild( root );
    
        TiXmlElement * settings = new TiXmlElement("Settings");
        doc.LinkEndChild( settings );
        root->LinkEndChild( settings );
    
        TiXmlElement * energy = new TiXmlElement("EnergyConsumption");
        doc.LinkEndChild( energy );
        root->LinkEndChild( energy );
    
        TiXmlElement * data = new TiXmlElement( "Measurement" );
        doc.LinkEndChild( data );
        root->LinkEndChild( data );
    

    sobald ich die zeilen in denen root vorkommt jedoch drin habe bekomme während der Laufzeit folgenden Fehler mit dem ich nichts anfangen kann. Evtl kann mir einer von euch sagen woran es liegt.

    TiXmlNode* TiXmlNode::LinkEndChild(TiXmlNode*): Assertion `node->parent == 0 || node->parent == this' failed.
    

    Danke schonmal für euere Gedanken.

    Gruß oNes



  • habs. So gehts:

    TiXmlDocument doc;
        TiXmlDeclaration * decl = new TiXmlDeclaration( "1.0", "", "" );
        doc.LinkEndChild( decl );
    
        TiXmlElement * root = new TiXmlElement("wago");
        doc.LinkEndChild( root );
    
        TiXmlElement * settings = new TiXmlElement("settings");
        root->LinkEndChild( settings );
    
        TiXmlElement * energy = new TiXmlElement("energyconsumption");
        root->LinkEndChild( energy );
    
        TiXmlElement * data = new TiXmlElement( "measurement" );
        root->LinkEndChild( data );
    

Anmelden zum Antworten