ramo102e
20-09-2007, 09:48
Non sapevo se mettere il 3D qui o nella sezione Linux, comunque...
Qualcuno di voi sa utilizzare la libreria Expat per parsare gli XML? Io la sto utilizzando in questi giorni ma ho dei problemi quando le "do in pasto" degli oggetti che hanno un contenuto.
Faccio un esempio:
1) Se ho un oggetto senza contenuto, anche se possiede attributi, come questo:
<oggetto att1="valore1" att2="valore2"></oggetto>
va tutto bene.
2) Se invece ho del contenuto:
<oggetto>Contenuto dell'oggetto</oggetto>
ottengo SEGFAULT quando il parser arriva a questo punto del file XML.
Eppure gestisco tutti i tag che possono essere presenti all'interno dell'XML che devo parsare, e setto per il parser sia lo startHandler che il contentHandler.
XML_Parser p = XML_ParserCreate(NULL);
XML_SetUserData(p, &udt);
XML_SetEncoding(p, "iso-8859-1");
XML_SetElementHandler(p, startElement, NULL);
XML_SetCharacterDataHandler(p, elementContent);
/** ciclo di lettura con XML_Parse() **
Qualcuno di voi ha qualche suggerimento?
Qualcuno di voi sa utilizzare la libreria Expat per parsare gli XML? Io la sto utilizzando in questi giorni ma ho dei problemi quando le "do in pasto" degli oggetti che hanno un contenuto.
Faccio un esempio:
1) Se ho un oggetto senza contenuto, anche se possiede attributi, come questo:
<oggetto att1="valore1" att2="valore2"></oggetto>
va tutto bene.
2) Se invece ho del contenuto:
<oggetto>Contenuto dell'oggetto</oggetto>
ottengo SEGFAULT quando il parser arriva a questo punto del file XML.
Eppure gestisco tutti i tag che possono essere presenti all'interno dell'XML che devo parsare, e setto per il parser sia lo startHandler che il contentHandler.
XML_Parser p = XML_ParserCreate(NULL);
XML_SetUserData(p, &udt);
XML_SetEncoding(p, "iso-8859-1");
XML_SetElementHandler(p, startElement, NULL);
XML_SetCharacterDataHandler(p, elementContent);
/** ciclo di lettura con XML_Parse() **
Qualcuno di voi ha qualche suggerimento?