Mit problem er hvordan jeg skriver koden der parser det. Jeg kan ikke finde nogle eksempler.
Det tætteste jeg har fundet er flg. som dog ikke virker. #include <xercesc/parsers/DOMParser.hpp> #include <xalanc/XalanTransformer/XercesDOMWrapperParsedSource.hpp>
// Turn on validatiion and namespace support. theParser.setDoValidation(true); theParser.setDoNamespaces(true); // Parse the document theParser.parse(xmlInput); DOMDocument *theDOM = theParser.getDocument(); theDOM->normalize(); XercesDOMSupport theDOMSupport; XercesParserLiaison theParserLiaison; // Use the DOM to create a XercesDOMWrapperParsedSource, // which you can pass to the transform method. try { const XercesDOMWrapperParsedSource parsedSource( theDOM, theParserLiaison, theDOMSupport, XalanDOMString(xmlInput.getSystemId()));
Det er der skam også, men der er tale om filer på 500+ linier. Lidt svært at sætte sig ind i, når man først skal til at lære c++.
Havde håber at jeg kunne nøjes med at undersøge et lille eksempel på en 20-50 linier, som jeg så kunne tage udgangspunkt i ved construktionen af min egen parser.
Det er desværre ved at gå op for mig. Men jeg skal lave et cgi-script der kan parse en XML-fil til en mysql-database.. Har kodet en lille smule C engang men ikke nok til at jeg kan huske så meget af det.. andet end at jeg havde lidt bøvl med pointere og chararrays.. Mener heldigvis at have hørt at C++ har String-objekter fremfor chararrays som jo sætter en begrænsning i kraft af en foruddefinition på størrelsen.
Men du må meget gerne lave et lille eksempel. Så kan jeg hæve point-givningen.. Det skal helst være kort og muligt at tilgå tag'ne og attributterne efterhånden som man støder på dem. Gerne rekursivt, således at man hele tiden ved hvem parent er;-)
Jeg kan dog ikke kompilere det på min maskine. Kompilerer med g++ -I/usr/include/mysql -I/usr/include/xercesc dom.cpp /usr/lib/libmysqlclient.a -lz -lssl -o dom Mangler XercesDOMParser.hpp.. har ellers installeret libxerces21c102, libxerces25, libxerces1, libxerces1.6, libxerces1-dev, libxalan16 libxerces23 og xalan. (kører debian)
Jeg kan ligeledes ikke se hvordan man skal parse xml'en hvis den bliver mere kompleks, eller du ikke kender strukturen og antallet af niveauer.
Jeg har netop opgivet, da jeg lige forsøgte i perl, som jeg heller ikke har nogen erfaring med men der nåede jeg rigtigt langt på meget kort tid.
Det er trods alt også et CGI-script. Det kører måske ikke helt lige så hurtigt... men det virker.
Undskyld ulejligheden:-(
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.