TinyXml Nodes durchlaufen



  • Hi,

    Hab folgende Xml Datei als Beispiel:

    ...
    <bla>
     <foo x1="230" y1="12" x2="170" y2="89" />
     <foo x1="169" y1="21" x2="88" y2="90" />
     <bar x1="230" y1="12" x2="170" y2="89" />
     <bar x1="169" y1="21" x2="88" y2="90" />
     <foo x1="83" y1="20" x2="10" y2="93" />
     <foo x1="83" y1="20" x2="10" y2="93" />
    </bla>
    ...
    

    Mit folgende Befehl hab bis jetzt immer alle Node ausgelesen:

    for (Node=Element->FirstChildElement("foo"); Node; Node=Element->IterateChildren(Node))
    

    Bisher kein Problem aber jetzt sind foo und bar im bla Node enthalten jetzt will ich die einzeln irgendwie rausholen also das er nur erstmal durch alle foo elemente durchgeht und dann duch alle bar elemente. Was muss ich anstatt IterateChildren(Node) einfügen mit NexSiblingElement("foo") z.B. gibt er mir immer nur eins raus aber nicht alle?

    MFG
    xmarvel



  • for (...)
    {
       TiXmlElement *element = NULL;
       TiXmlAttribute *attribute = NULL;
    
        // Das element lesen
       element = Node->ToElement();
       // Das erste Attribut
       attribute = element->ToAttribute();
    
       // Hier kannst du jetzt durch die attribute iritieren
       attribute = attribute->Next();
       whhile(attribute)
       { 
          // Etwas sinnvolles anstellen
          attribute = attribute->Next();
       }
       printf(" Wert: %s",attribute->Value());
    }
    

    Das sollte helfen...
    rya.
    Scorcher24



  • bei dir geht er aber auch alle foo und bar elemente durch das ist ja das Problem er soll ja nur die foo bzw. bar elemente durchgehen 😉


Anmelden zum Antworten