Bonjour,
Je suis actuellement en train de développer un questionnaire intranet en flex.
Mon but est de stocker la structure dans un fichier XML et de parser ces informations avec Flex.
J'ai déjà tout développé à partir d'un objet Flex de type XML :
Maintenant que cela fonctionne, je voudrais tirer ces informations d'un fichier xml en local. Mais je ne sais pas trop comment faire pour convertir le .xml en l'objet XML.
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 private static var tablesService:XML = <quizz> <topic id="1" topicName="premier sujet"> <title>Premier sujet</title> <page pageName="page1"> <question name="Q1" type="radiobutton"> <label>Lequel est le bon ?</label> <button answerValue="1">oui</button> <button answerValue="0">non</button> </question> <question name="Q2" type="checkbox"> <label>Lesquels sont bons ?</label> <button answerValue="1">A</button> <button answerValue="1">B</button> <button answerValue="0">C</button> </question> <question name="Q3" type="orderQuestion"> <label>Dans quel ordre faut-il procéder ?</label> <button answerValue="2">A</button> <button answerValue="1">B</button> <button answerValue="3">C</button> </question> </page> <page pageName="page2"> <question name="Q4" type="openQuestion"> <label>Disserter sur le sujet</label> <answerValue>La vraie réponse est 42</answerValue> </question> </page> </topic> </quizz>
J'ai essayé avec :
et avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <mx:XML id="myXMLFile" source="data/qcm.xml" />
Mais les deux me renvoie la même erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <mx:HTTPService id="myXMLFile" url="data/qcm.xml" useProxy="false" result="genererPage(event)"/>
Evidement j'ai tenté le clic droit/More information mais ça m'emmène sur une page web avec une description génériques des erreurs.An internal build error has occurred. Right-Click for more information
http://learn.adobe.com/wiki/display/...ompiler+Errors
Après quand j'ai tenté de voir à travers l' "Error log" d'Eclipse, j'ai :
Dont le détails est :Uncaught Exception in Compiler
Voilà, je suis certain que ca viens de la ligne d'import car quand je la retire, l'erreur disparaît.
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
41 java.lang.ArrayIndexOutOfBoundsException: -1 at java.util.ArrayList.get(Unknown Source) at flex2.compiler.mxml.dom.Scanner.getNextToken(Scanner.java:170) at flex2.compiler.mxml.Parser.jj_consume_token(Parser.java:1147) at flex2.compiler.mxml.Parser.parseAnonymousObject(Parser.java:593) at flex2.compiler.mxml.analyzer.SyntaxAnalyzer.parseExternalXML(SyntaxAnalyzer.java:430) at flex2.compiler.mxml.analyzer.SyntaxAnalyzer.analyze(SyntaxAnalyzer.java:230) at flex2.compiler.mxml.dom.XMLNode.analyze(XMLNode.java:51) at flex2.compiler.mxml.dom.AnalyzerAdapter.traverse(AnalyzerAdapter.java:172) at flex2.compiler.mxml.dom.AnalyzerAdapter.analyze(AnalyzerAdapter.java:164) at flex2.compiler.mxml.analyzer.SyntaxAnalyzer.analyze(SyntaxAnalyzer.java:55) at flex2.compiler.mxml.dom.Node.analyze(Node.java:47) at flex2.compiler.mxml.InterfaceCompiler.parse1(InterfaceCompiler.java:222) at flex2.compiler.mxml.Compiler.parse1(Compiler.java:95) at flex2.compiler.API.parse1(API.java:2315) at flex2.compiler.API.parse1(API.java:2268) at flex2.compiler.API.batch2(API.java:369) at flex2.compiler.API.batch(API.java:1117) at flex2.compiler.API.compile(API.java:1290) at flex2.tools.oem.Application.compile(Application.java:1077) at flex2.tools.oem.Application.compile(Application.java:803) at flex2.tools.flexbuilder.BuilderApplication.compile(BuilderApplication.java:354) at com.adobe.flexbuilder.multisdk.compiler.internal.ASApplicationBuilder$MyBuilder.mybuild(ASApplicationBuilder.java:271) at com.adobe.flexbuilder.multisdk.compiler.internal.ASApplicationBuilder.build(ASApplicationBuilder.java:122) at com.adobe.flexbuilder.multisdk.compiler.internal.ASBuilder.build(ASBuilder.java:139) at com.adobe.flexbuilder.multisdk.compiler.internal.ASItemBuilder.build(ASItemBuilder.java:73) at com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.buildItem(Unknown Source) at com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.build(Unknown Source) at com.adobe.flexbuilder.project.compiler.internal.FlexIncrementalBuilder.build(Unknown Source) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:633) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:309) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:341) at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:140) at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:238) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Si quelqu'un a déjà eu ce problème ou si vous avez une autre solution pour importer un .xml en flex, je suis toute ouïe.
Merci par avance
Partager