Bonjour,

Je tente donc de générer un XML à l'aide d'un HashMap je vous présente l'architecture du projet. Je déclare mon object comme suivant:

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
@XmlRootElement
Public class myObjectToHashmap
long id;
boolean bool;
String name;
long date;
 
public static void GetMyObject(long id,boolean bool, String name)
{
    myObjectToHashmap newObject = new myObjectToHashmap();
        newObject.id= id;
        newObject.date = new Date().getTime();
        newObject.name = name;
        newObject = bool;
    PlaceOfMyHashmap.myHashMap.put(id, newObject)
 }
Voici l'endroit où se trouve mon Hashmap :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
public class PlaceOfMyHashMap
{
    public static HashMap<Long, myObjectToHashMap> myHashMap = new HashMap<~>
}
Et enfin l'endroit où tout s'exécute.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class MainClass
{
    public static void main(String args[]) throws Exception
    {
        MyObjectToHashmap.GetMyObject(1, true, "Mat")
        MyObjectToHashmap.GetMyObject(4, false, "Tommy")
        MyObjectToHashmap.GetMyObject(9, true, "Kate")
 
        JAXBContext jc = JAXBContext.newInstance(MyObjectToHashmap.class);
        Marshaller marshaller = jc.createMarshaller();
        marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
        marshaller.marshal(PlaceOfMyHashMap.myHashMap , System.out);
     }
}
Alors, évidemment cela me génère une sortie de code en me précisant "invalid expression". Je ne sais pas non plus comment spécifier l'endroit de l'export, j'ai alors besoin de vous pour deux éléments:

1- Comment générer correctement le XML simple avec une représentation par défaut (sans précisant les éléments, et sous éléments)

2- Comment exporter le fichier généré dans un endroit sur mon ordinateur.

La variable qui lance l'exception est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
marshaller.marshal(PlaceOfMyHashMap.myHashMap , System.out);
Et le contenu est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
marshaller.mashal(~); Method threw 'javax.xml.bind.JAXBException' exception.
errorCode = null linkedException = null detailMessage = "class.java.util.HashMap and none of its superclass are known in this context"
detailMessage = "javax.xml.bind.JAXBException and none of its superclass are known in this context"
stackTrace = {java.lang.StackTraceElement[6]@882 suppressedExceptions = size=0
Merci de votre aide !