Parse XML vers objet Java
Bonjour,
je rencontre un problème avec l'utilisation de Xstream.
Je souhaite parser un fichier Xml vers mes objet Java.
les noms utilisés dans le Xml et les noms dans les classes Java sont les mêmes.
Voici le fichier Xml :
Code:
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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
|
<?xml version="1.0" encoding="ISO-8859-1" ?>
<Versionning>
<listeApplication>
<Application>
<nomAppli>aaaaaa</nomAppli>
<RetourVersionning></RetourVersionning>
<listeOs>
<Os>
<nomOs>bbbbbb</nomOs>
<RetourVersionning></RetourVersionning>
<listeVersionOs>
<VersionOs>
<numOs>1</numOs>
<RetourVersionning></RetourVersionning>
<listeVersionAppli>
<VersionAppli>
<numAppli>1.0.0</numAppli>
<RetourVersionning></RetourVersionning>
<listeVersionStatique>
<VersionStatique>
<numStatique>1.0.0.0</numStatique>
<RetourVersionning>
<codeRetourMaJmaj>0</codeRetourMaJmaj>
<libelleRetourMaJmaj>libelle test 1</libelleRetourMaJmaj>
<codeRetourMaJmin>1</codeRetourMaJmin>
<libelleRetourMaJmin>libelle test 2</libelleRetourMaJmin>
<codeRetourMaJOs>2</codeRetourMaJOs>
<libelleRetourMaJOs>libelle test 3</libelleRetourMaJOs>
</RetourVersionning>
</VersionStatique>
<VersionStatique>
<numStatique>1.0.0.1</numStatique>
<RetourVersionning>
<codeRetourMaJmaj>0</codeRetourMaJmaj>
<libelleRetourMaJmaj>libelle test 4</libelleRetourMaJmaj>
<codeRetourMaJmin>1</codeRetourMaJmin>
<libelleRetourMaJmin>libelle test 5</libelleRetourMaJmin>
<codeRetourMaJOs>2</codeRetourMaJOs>
<libelleRetourMaJOs>libelle test 6</libelleRetourMaJOs>
</RetourVersionning>
</VersionStatique>
</listeVersionStatique>
</VersionAppli>
<VersionAppli>
<numAppli>1.0.2</numAppli>
<listeVersionStatique>
<VersionStatique>
<numStatique>1.0.2.0</numStatique>
<RetourVersionning>
<codeRetourMaJmaj>0</codeRetourMaJmaj>
<libelleRetourMaJmaj>libelle test 7</libelleRetourMaJmaj>
<codeRetourMaJmin>1</codeRetourMaJmin>
<libelleRetourMaJmin>libelle test 8</libelleRetourMaJmin>
<codeRetourMaJOs>2</codeRetourMaJOs>
<libelleRetourMaJOs>libelle test 9</libelleRetourMaJOs>
</RetourVersionning>
</VersionStatique>
</listeVersionStatique>
</VersionAppli>
</listeVersionAppli>
</VersionOs>
<VersionOs>
<numOs>2</numOs>
<listeVersionAppli>
<VersionAppli>
<numAppli>1.0.0</numAppli>
<listeVersionStatique>
<VersionStatique>
<numStatique>1.0.0.0</numStatique>
<RetourVersionning>
<codeRetourMaJmaj>0</codeRetourMaJmaj>
<libelleRetourMaJmaj>libelle test 10</libelleRetourMaJmaj>
<codeRetourMaJmin>1</codeRetourMaJmin>
<libelleRetourMaJmin>libelle test 11</libelleRetourMaJmin>
<codeRetourMaJOs>2</codeRetourMaJOs>
<libelleRetourMaJOs>libelle test 12</libelleRetourMaJOs>
</RetourVersionning>
</VersionStatique>
</listeVersionStatique>
</VersionAppli>
</listeVersionAppli>
</VersionOs>
</listeVersionOs>
</Os>
<Os>
<nomOs>ccccc</nomOs>
<listeVersionOs>
<VersionOs>
<numOs>1</numOs>
<listeVersionAppli>
<VersionAppli>
<numAppli>1.0.0</numAppli>
<listeVersionStatique>
<VersionStatique>
<numStatique>1.0.0.0</numStatique>
<RetourVersionning>
<codeRetourMaJmaj>0</codeRetourMaJmaj>
<libelleRetourMaJmaj>libelle test 13</libelleRetourMaJmaj>
<codeRetourMaJmin>1</codeRetourMaJmin>
<libelleRetourMaJmin>libelle test 14</libelleRetourMaJmin>
<codeRetourMaJOs>2</codeRetourMaJOs>
<libelleRetourMaJOs>libelle test 15</libelleRetourMaJOs>
</RetourVersionning>
</VersionStatique>
</listeVersionStatique>
</VersionAppli>
</listeVersionAppli>
</VersionOs>
</listeVersionOs>
</Os>
</listeOs>
</Application>
<Application>
<nomAppli>aaaaab</nomAppli>
<listeOs>
<Os>
<nomOs>bbbbbb</nomOs>
<listeVersionOs>
<VersionOs>
<numOs>1</numOs>
<listeVersionAppli>
<VersionAppli>
<numAppli>1.0.0</numAppli>
<listeVersionStatique>
<VersionStatique>
<numStatique>1.0.0.0</numStatique>
<RetourVersionning>
<codeRetourMaJmaj>0</codeRetourMaJmaj>
<libelleRetourMaJmaj>libelle test 16</libelleRetourMaJmaj>
<codeRetourMaJmin>1</codeRetourMaJmin>
<libelleRetourMaJmin>libelle test 17</libelleRetourMaJmin>
<codeRetourMaJOs>2</codeRetourMaJOs>
<libelleRetourMaJOs>libelle test 18</libelleRetourMaJOs>
</RetourVersionning>
</VersionStatique>
</listeVersionStatique>
</VersionAppli>
</listeVersionAppli>
</VersionOs>
</listeVersionOs>
</Os>
</listeOs>
</Application>
</listeApplication>
</Versionning> |
Voici le code me permettant de parser vers mes objet Java :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
Versionning versionning = new Versionning();
String versionningXML = "xml/versionning.xml";
InputStream iS = this.getClass().getResourceAsStream(versionningXML);
HashMap<String, Class<?>> alias = new HashMap<String, Class<?>>();
alias.put("Versionning", Versionning.class);
alias.put("Application", Application.class);
// alias.put("nomAppli", String.class);
// alias.put("RetourVersionning", VersionningResponseVO.class);
alias.put("Os", Os.class);
// alias.put("nomOs", String.class);
// alias.put("RetourVersionning", VersionningResponseVO.class);
alias.put("VersionOs", VersionOs.class);
// alias.put("numOs", String.class);
// alias.put("RetourVersionning", VersionningResponseVO.class);
alias.put("VersionAppli", VersionAppli.class);
// alias.put("numAppli", String.class);
// alias.put("RetourVersionning", VersionningResponseVO.class);
alias.put("VersionStatique", VersionStatique.class);
// alias.put("numStatique", String.class);
alias.put("RetourVersionning", VersionningResponseVO.class);
versionning = (Versionning)com.bnpparibas.fluxsolde.presentation.utility.XstreamUtils.getObjectFromXML(iS, alias); |
Le problème est que mon objet de sortie est null !
Merci pour votre aide.