Bonjour,

je voudrais générer un fichier XML contenant certains paramètres (des Noeud = child). Je suis arrivé à créer un fichier XML avec 3 Noeuds (que je mets dans les paramètres de la méthode). seulement, je ne vais pas toujours créer un fichier avec 3 Noeuds uniquement, je peux créer des fichiers avec 5, 10, 100 ou 1000 Noeuds et je pense que c'est assez bete de définir une méthode pour chaque nombre de Noeud . J'ai pensé à la solution de donner comme paramètre à la classe un nombre n des Noeud à afficher dans le fichier XML mais je me rend compte tout de suite du problème suivant: si j'ai 5 Noeud et je ne veux afficher que 2 Noeud , le choix se portera automatiquement sur les deux premiers, non?! alors que je voudrais choisir spécifiquement quels sont les Noeud à afficher.
voici le code permettant la création de 3 noeuds prédéfinis et je voudrais savoir comment le transformer pour que le nombre de noeuds ne soit pas prédéfinis:
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
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
 
 public static final Namespace GRAPH_NS = Namespace.getNamespace("http://graphml.graphdrawing.org/xmlns/graphml");
 
      public void setFileXML (Element child1, Element child2, Element Edge){
        final Namespace XSI_NS = Namespace.getNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
        Document document = new Document();
      //  Element root = new Element("graphml");
 
        // Crée un élément dans un namespace
        Element root = new Element("graphml", GRAPH_NS);
        root.setAttribute("schemaLocation","http://graphml.graphdrawing.org/xmlns/graphml",  XSI_NS);
 
        Element key1 = new Element("key");
        Element key2 = new Element("key");
        Element key3 = new Element("key");
 
 
        key1.setAttribute("id", "x").setAttribute("for", "node");
        key1.addContent(new Element("default").setText("0"));
 
        key2.setAttribute("id", "y").setAttribute("for", "node");
        key2.addContent(new Element("default").setText("0"));
 
        key3.setAttribute("id", "name").setAttribute("for", "node");
        key3.addContent(new Element("default").setText(" "));
 
 
        Element child0 = new Element("graph");
        child0.setAttribute("edgedefault", "directed");
 
 
        //
        // Add the child to the root element and add the root element as
        // the document content.
        //
 
        root.setContent(key1);
        root.addContent(key2);
        root.addContent(key3);
        root.addContent(child0);
 
        child0.addContent(child1);
        child0.addContent(child2);
 
 
 
        document.setContent(root);
 
        try {
            FileWriter writer = new FileWriter("Graph1.xml");
            XMLOutputter outputter = new XMLOutputter();
 
            //
            // Set the XLMOutputter to pretty formatter. This formatter
            // use the TextMode.TRIM, which mean it will remove the
            // trailing white-spaces of both side (left and right)
            //
            outputter.setFormat(Format.getPrettyFormat());
 
            //
            // Write the document to a file and also display it on the
            // screen through System.out.
            //
            outputter.output(document, writer);
            outputter.output(document, System.out);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }