Bonjour,
Je dois mettre à jour un programme en C utilisant diverses libraires XML.
Ce programme est donc devenu obsoléte car elle fais appel à des éléments de structure qui ne semble plus exister.
Voici le bout du programme actuel sur lequel j'ai eu un probleme :
(doc est de type xmlDoc)
1 2 3 4
| if (!doc->root || !doc->root->name || strcmp(doc->root->name, XML_ROOT)!=0) {
xmlFreeDoc(doc);
return -1;
} |
Erreur de compilation pour cette partie : pas de menbre root
Voici la modification que j'ai apporté apres avoir lu plusieurs documents sur le net :
1 2 3 4
| if (!doc->children || !doc->children->name || strcmp(doc->children->name, XML_ROOT)!=0) {
xmlFreeDoc(doc);
return -1;
} |
ERREUR : ../src/configure.c:165: attention : pointer targets in passing argument 1 of strcmp differ in signedness
j'ai remplacé root par children donc.
Ce que je souhaiterai savoir c'est : Est ce que cela est bien équivalent à l'ancien "->root" car il est dit que children pointe sur le 1er fils.
Voici les éléments de la structure xmlDoc qui se situe dans la librairie tree.h:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| void * _private
xmlElementType type
char * name
struct _xmlNode * children
struct _xmlNode * last
struct _xmlNode * parent
struct _xmlNode * next
struct _xmlNode * prev
struct _xmlDoc * doc
int compression
int standalone
struct _xmlDtd * intSubset
struct _xmlDtd * extSubset
struct _xmlNs * oldNs
const xmlChar * version
const xmlChar * encoding
void * ids
void * refs
const xmlChar * URL
int charset
struct _xmlDict * dict
void * psvi
int parseFlags
int properties |
Partager