Alors voila mon problème devrait pas être énorme, mais j'arrive pas à trouver la solution.
Je chercher tout simplement à récupérer une valeur contenue dans mon fichier xml.
Mon interface est simple, un utilisateur rentre un Login et un Pwd, je voudrais donc vérifier la véracité des données.
Mes données sont contenues dans le Fichier Xml ci dessous:
Et voici ma fonction qui devrait me permettre de parcourir le fichier Xml et d'effectuer la vérification:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14<?xml version="1.0" ?> <Utilisateurs> <Utilisateur> <Login>b</Login> <Password>b</Password> <Role>user</Role> </Utilisateur> <Utilisateur> <Login>a</Login> <Password>a</Password> <Role>admin</Role> </Utilisateur> </Utilisateurs>
Il y a donc deux endroits avec des "??" ...
Code : 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 int FenetreConnect::Lire(QString Login,QString Pwd) { QDomDocument doc; QFile file("user.xml"); if ( !file.open(QIODevice::ReadOnly) ) { } if ( !doc.setContent(&file) ) { file.close(); } QDomElement root = doc.documentElement(); QDomElement child = root.firstChild().toElement(); while (!child.isNull()) { if (child.tagName() == "Utilisateur") { if (Login == ??) //si le login correspond, { child = child.nextSiblingElement(); if (child.tagName() == "Password")//on passe à la vérification du pwd { if (Pwd== ??) { file.close(); return 1; // pour dire qu'on a identifier correctement la personne } } } } child = child.nextSiblingElement(); } file.close(); return 0; }
J'ai essayé plusieurs méthodes, mais je n'ai peut être pas réussi à les mettre en œuvre correctement.
Merci d'avance.
Partager