Bonjour,
Pour ceux qui maitrise les fichier xml lu par Qt, et tout le tsouin tsouin des QDomDocument|Node|Element, j'ai un fichier xml comme ceci :
je veux recuperer chaque contenu des titres jusqu'à maximum 10 car j'ai 10 lignes disponibles et 10 QAction (ce sont les item du menu quand on clique droit sur une icone du system tray)
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 <?xml version="1.0" encoding="UTF-8" ?> <articles> <alaune> <item> <title>1ere news à la une.</title> <link>http://sharablemusic.free.fr</link> <pubDate>Tue, 05 May 2015 18:54:18 GMT</pubDate> </item> <item> <title>2eme histoire à la une.</title> <link>http://www.google.fr</link> <pubDate>Tue, 05 May 2015 09:54:18 GMT</pubDate> </item> </alaune> <monde> </monde> <politique> </politique> <societesante> </societesante> <economie> </economie> <science> </science> <art> </art> <sport> </sport> <people> </people> </articles>
c'est finalement pour vous dire que articlesALaUne est une QList<QAction *>
j'ai donc écrit ca :
et je m'attendais à avoir les 2 premiers items du menu avec leur valeur ("1ere news..., 2eme histoire...") et les 8 autres désactivé et blank,
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 void Window::FirstReadXML() { QString filepath = QCoreApplication::applicationDirPath(); filepath.append("\\history.xml"); AppFiles::historyXML->setFileName(filepath); if(!(AppFiles::historyXML->open(QIODevice::ReadOnly))){ return; } QDomDocument *domfile = new QDomDocument("history_xml"); if(!(domfile->setContent(AppFiles::historyXML))){ return; } AppFiles::historyXML->close(); QDomNode principalNode = domfile->documentElement(); QDomNode alauneNode = principalNode.namedItem("alaune"); QDomNode item = alauneNode.firstChild(); int i = 0; while(!alauneNode.isNull() && !item.isNull() && i<10){ articlesALaUne[i]->setEnabled(true); articlesALaUne[i]->setText(item.namedItem("title").toElement().text()); ++i; item.nextSibling(); } }
au lieu de ca j'ai les 10 activé et dont le texte est "1ere news a la une".
je sais pas où changer les choses, ca doit etre un truc tout bete
Partager