AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

xml parsen mit tinyxml

Ein Thema von EWeiss · begonnen am 7. Mär 2014 · letzter Beitrag vom 10. Mär 2014
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

xml parsen mit tinyxml

  Alt 7. Mär 2014, 15:39
Ich komme auf keinen grünen zweig.
Ich habe eine einfache XML die ich mit tinyxml parsen will mein Problem ist das ich leider nicht sehr weit komme.

XML ist angehängt!

Code:
  TiXmlDocument document(Lng->szTemp);
  document.LoadFile();   

  TiXmlHandle docHandle( &document );
  TiXmlElement* child2 = docHandle.FirstChild( "configuration" ).FirstChild( "section" ).Child( "setting", 1 ).ToElement();
  if ( child2 )
  {
      const char* sDesc = child2->GetText();
  };
GetText geht ins leere
Ich komme nicht auf die Section "SettingsDialog!
Um anschließend über while oder ne For schleife die einzelnen Values auszulesen.

kann jemand helfen..

gruss

Geändert von EWeiss (11. Jul 2019 um 16:42 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: xml parsen mit tinyxml

  Alt 8. Mär 2014, 07:17
Noch nie jemand verwendet der eventuell helfen könnte?

gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: xml parsen mit tinyxml

  Alt 10. Mär 2014, 12:28
Ich habe jetzt mal eine XML erstellt die so aufgebaut ist wie eine INI-Datei.
Code:
   tinyxml2::XMLDocument doc;
   tinyxml2::XMLDeclaration * xdeclaration = doc.NewDeclaration();
  xdeclaration->SetValue("xml version=\"1.0\" encoding=\"UTF-8\"");
   
   doc.InsertFirstChild(xdeclaration);

   // first entry
   tinyxml2::XMLElement *xdocument = doc.NewElement("configuration");
  tinyxml2::XMLNode *xndocument = doc.InsertAfterChild(xdeclaration, xdocument);
   // Section
  tinyxml2::XMLElement* xeSection = doc.NewElement("section");
   xeSection->SetAttribute("name", "SettingsDialog");
   // Settings
  tinyxml2::XMLElement *xeSettings = doc.NewElement("settings");
   
   // enumerate Line count from sTextSettingDialog
   for(int i=0; i < MAX_SETTINGSDIALOG_STRINGS; i++)
   {
    // convert integer(i) to string
      std::string s = std::to_string(i);
    char const *pchar = s.c_str();

    // copy string buffer to *char
      char *buffer = new char[s.length()];
    strcpy(buffer,s.c_str());

      // using buffer for next element
      xeSettings = doc.NewElement(buffer);
      // New Settings Line
      xeSettings->SetValue("setting");
      // First Attribut for Line(i)
      xeSettings->SetAttribute("name", buffer);
      // Attribute Value for Line(i)
    xeSettings->SetAttribute("value", sTextSettingDialog[i]);
      // End Line(i)
    xeSection->InsertEndChild(xeSettings);
   }
   // close Document
  xdocument->InsertEndChild(xeSection);
   // save document file
   doc.SaveFile("English.xml");
Mein Problem ist nun wie lese ich die wieder ein.
Es gibt nicht wirklich gute Dokumentationen dazu

Wie komme ich an die Attribute ran?

Das Dokument sieht dann so aus

gruss

Geändert von EWeiss (11. Jul 2019 um 16:42 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz