CharData mit tinyXML aus XML-Datei lesen



  • Hallo Leute!

    bin gerade dabei ein wenig mit tinyxml rumzuspielen. Datein erzeugen geht schon ganz gut, nur mit dem Einlesen gibts noch ärger. ich versuche folgende XML-Datei einzulesen:

    <?xml version="1.0" standalone="no"?> 
    
    <RootNode> 
      <text1>Test1</text1>
      <text2>Test2</text2> 
      <text3>Test3</text3> 
      <text4>Test4</text4> 
    </RootNode>
    

    dabei komme ich problemlos auf den RootTag und auf text1 bis text4; auch attribute auslesen wäre kein Problem. Ich schaffs aber nicht den Text (also Test1 bis Test4) auszulesen. Soweit ich das verstanden habe, müsste "Test1" ein Child von <text1> sein;
    geht aber nicht so recht...

    ich mach das folgendermaßen:

    TiXmlDocument doc("test.xml");
    doc.LoadFile();
    
    TiXmlNode* RootNode = 0;
    TiXmlNode* Node = 0;
    TiXmlNode* Node2 = 0;
    TiXmlElement* Element = 0;
    TiXmlElement* Element2 = 0;  
    
    RootNode = doc.FirstChild("RootNode");
    
    for(Node = RootNode->FirstChild(); Node; Node = Node->NextSiblingElement())
    {
      Element = Node->ToElement();
      cout << Element->Value() << endl;
    
      for(Node2 = Node->FirstChild(); Node2; Node2 = Node2->NextSiblingElement())
      {
        Element2 = Node2->ToElement();
        cout << Element2->Value();    // Zugriffsverletzung in der tinyxml-lib !!
      }
    }
    

    Hab auch schon http://www.c-plusplus.net/forum/viewtopic.php?t=45363&highlight=tinyxml gefunden; hat mich aber auch nur bis zu dieser stelle gebracht...

    mfg
    flo


Anmelden zum Antworten