Bonjour à tous,
Je crée un programme en C++ dont les données seront initialisées grâce à un fichier XML de la forme suivante :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 <?xml version="1.0" encoding="ISO-8859-1"?> <writearea> <value></value> <x>5</x> <y>5</y> <width>490</width> <height>50</height> <borderSize>1</borderSize> <borderColor>#000000</borderColor> <backgroundColor>#FFFFFF</backgroundColor> <fontColor>#000000</fontColor> <fontSize>12</fontSize> </writearea> <key type="completion"> <code>comp1</code> <value type="text"></value> <x>5</x> <y>60</y> <width></width> <height>50</height> <borderSize>1</borderSize> <borderColor>#000000</borderColor> <backgroundColor>#E2B0FE</backgroundColor> <fontColor>#000000</fontColor> <fontSize>12</fontSize> <faceImg></faceImg> </key> <key type="letter"> <code>a</code> <value type="text">A</value> <x>5</x> <y>170</y> <width>50</width> <height>50</height> <borderSize>1</borderSize> <borderColor>#000000</borderColor> <backgroundColor>#B0FECD</backgroundColor> <fontColor>#000000</fontColor> <fontSize>12</fontSize> <faceImg></faceImg> </key>
J'aimerais savoir s'il existe une librairie qui permet d'extraire ces données facilement ?
Notamment, je voudrais pouvoir savoir si la balise extérieure est un <writearea> ou un <key>, pouvoir récupérer les attributs des items, et pouvoir, pour un item (par exemple <key>), récupérer les différents éléments qui le composent. En gros avec une fonction de ce style :
ou encore :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if (baliseSuivante == "key" && baliseSuivante.type == "letter") { code = baliseSuivante.get("value"); ... }
Quelle librairie me conseilleriez-vous pour optimiser ça ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 if (baliseSuivante == "key" && baliseSuivante.type == "letter") { Pour toutes les sous balises { if (sousBaliseSuivante == "code") { code = valeur_entre_les_balsies; } ... } }
Merci d'avance !
Partager