Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Software » XML lib

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
07.12.2006, 19:50 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Hi,

ich wollte mich erkundigen, ob von euch jemand eine Gute (C++)Library kennt, um eine XML Datei zu parsen. Können sollte Sie auf jeden Fall DOM. Ich habe Xerces probiert, habe allerdings nur Probleme damit unter VC++ 2005, weil er die DLL nicht findet, obwohl ich ih das Verzeichniss unter (Projekt -> <name>-Eigenschaften -> Allgemeine Eigenschaften -> Verweise). Die Lib sollte für Windows und Linux vorhanden sein.
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

Dieser Post wurde am 07.12.2006 um 19:56 Uhr von J-jayz-Z editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
08.12.2006, 00:19 Uhr
Pablo
Supertux
(Operator)


www.xmlsoft.org/
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.12.2006, 01:51 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


hmm,libxml2, das hab ich schon des öfteren wegen einer abhängigkeit installieren müssen
werds mir mal anschauen, danke.
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
08.12.2006, 08:34 Uhr
ao

(Operator)



Zitat von J-jayz-Z:
Gute (C++)Library kennt, um eine XML Datei zu parsen ... unter VC++ 2005

Da könntest du doch System.Xml aus dem .NET-Framework nehmen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
08.12.2006, 10:37 Uhr
(un)wissender
Niveauwart


Lib oder Dll?
xerces ist das Beste was du bekommne kannst. Und funzt auch.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
08.12.2006, 12:30 Uhr
Bruder Leif
dances with systems
(Operator)


Moin!

Schreib doch schnell selbst eine. War meine erste Aufgabe im neuen Job (für alle, die es noch nicht gemerkt haben, ich bin nicht mehr selbständig), ist etwa 50 KiB Quelltext und hat drei Tage gedauert zzgl. Tests. Sooo ein großes Problem ist das nicht, und bevor Du rumprobierst, 3rdParty-Zeug zum Laufen zu kriegen...


Bearbeitung:
Rausgeben kann ich die Lib leider nicht, ist Firmeneigentum...

--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.

Dieser Post wurde am 08.12.2006 um 12:30 Uhr von Bruder Leif editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
08.12.2006, 14:35 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Nach ständigen googlen hab ich festgestellt das xerces wirklich stand der Dinge ist. Dann poste ich hier mal mein Problem. VC++2005:

C++:
main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) public: static char * __cdecl xercesc_2_7::XMLString::transcode(wchar_t const * const)" (__imp_?transcode@XMLString@xercesc_2_7@@SAPADQB_W@Z)" in Funktion "__catch$_main$2".
[..]

main.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual void __thiscall xercesc_2_7::HandlerBase::endElement(wchar_t const * const)" (?endElement@HandlerBase@xercesc_2_7@@UAEXQB_W@Z)".
main.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual void __thiscall xercesc_2_7::HandlerBase::ignorableWhitespace(wchar_t const * const,unsigned int)" (?ignorableWhitespace@HandlerBase@xercesc_2_7@@UAEXQB_WI@Z)".
main.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual void __thiscall xercesc_2_7::HandlerBase::processingInstruction(wchar_t const * const,wchar_t const * const)" (?processingInstruction@HandlerBase@xercesc_2_7@@UAEXQB_W0@Z)".
main.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual void __thiscall xercesc_2_7::HandlerBase::startElement(wchar_t const * const,class xercesc_2_7::AttributeList &)" (?startElement@HandlerBase@xercesc_2_7@@UAEXQB_WAAVAttributeList@2@@Z)".

Das bekomme ich, wenn ich das Beispiel aus dem DOM Programming Guide der webseite kompilieren will. Mitgelinkt habe ich vorsichtshalber mal alle libs, die ich mitgeliefert bekomme(xerces-c_2.lib, xerces-c_2D.lib, xerces-depdom_2.lib und xerces-depdom_2D.lib). Die include Verzeichnisse sind auch richtig gesetzt und der Pfad zu DLL ebenso. Kann mir dann bei dem Problem evtl. wer helfen ?

Wie ich den Pfad der DLL gesetzt hab, habe ich oben erklärt, da bin ich mir nicht 100% sicher, ob das richtig war ...
(Projekt -> <name>-Eigenschaften -> Allgemeine Eigenschaften -> Verweise)
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

Dieser Post wurde am 08.12.2006 um 14:37 Uhr von J-jayz-Z editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
08.12.2006, 14:44 Uhr
(un)wissender
Niveauwart


das hat nichts mit der dll zu tun, sondern mit den libs.
Schwer zu sagen von hier, was das ist.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
08.12.2006, 14:53 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Mehr infos hab ich leider auch nicht ...
Kompilieren wollte ich folgendes beispiel von der apache hp:

C++:
#include <xercesc/parsers/XercesDOMParser.hpp>
#include <xercesc/dom/DOM.hpp>
#include <xercesc/sax/HandlerBase.hpp>
#include <xercesc/util/XMLString.hpp>
#include <xercesc/util/PlatformUtils.hpp>

#include <iostream>
using namespace std;
XERCES_CPP_NAMESPACE_USE

int main (int argc, char* args[]) {

try {
            XMLPlatformUtils::Initialize();
        }
        catch (const XMLException& toCatch) {
            char* message = XMLString::transcode(toCatch.getMessage());
            cout << "Error during initialization! :\n"
                 << message << "\n";
            XMLString::release(&message);
            return 1;
        }
        
        XercesDOMParser* parser = new XercesDOMParser();
        parser->setValidationScheme(XercesDOMParser::Val_Always);    // optional.
        parser->setDoNamespaces(true);    // optional

        ErrorHandler* errHandler = (ErrorHandler*) new HandlerBase();
        parser->setErrorHandler(errHandler);

        char* xmlFile = "C:\\test.xml";

        try {
            parser->parse(xmlFile);
        }
        catch (const XMLException& toCatch) {
            char* message = XMLString::transcode(toCatch.getMessage());
            cout << "Exception message is: \n"
                 << message << "\n";
            XMLString::release(&message);
            return -1;
        }
        catch (const DOMException& toCatch) {
            char* message = XMLString::transcode(toCatch.msg);
            cout << "Exception message is: \n"
                 << message << "\n";
            XMLString::release(&message);
            return -1;
        }
        catch (...) {
            cout << "Unexpected Exception \n" ;
            return -1;
        }

        delete parser;
        delete errHandler;
        cin.get();
        return 0;
    }

--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
08.12.2006, 15:50 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Problem behoben ... wchar_t wurde bei mir als integrierter Datentyp verwendet, im Xerces Projekt jedoch nicht. In VC++ 2005 einfach unter Projekt -> <name>-Eigenschaften -> Konfigurationseigenschaften -> C/C++ -> Sprache -> wchar_t als integrierten Typ behandeln -> Nein

Jetzt mal Xerces testen ....
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ Software ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: