Salut à tous!
J'ai un souci avec dom4j:
J'ai une méthode qui permet de supprimer un noeud d'une arbo XML:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
public void deleteElementToEdit(int elemnIdx)
{
//Les noeuds sont stockes dans une Map.
//Récupération de l'élément à supprimer:
	Element element = (Element) _elementsToEdit.get(elemnIdx);
	element.detach();
}
En débuggant, j'ai pu vérifier que le noeud que j'essayais de détacher était bien celui que je voulais.
Mais, quand je regarde le fichier XML résultat, le noeud n'a pas été détaché...En revanche, certains de ses fils l'ont étés mais pas tous...
...
Ma méthode qui réécrit dans le fichier XML de sortie est ultra simple et reprend ce qui est fait dans les tutoriaux de dom4j:
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
 
public void updateFile() throws IOException
{
	XMLWriter writer = new XMLWriter(new FileWriter(_editFilePath));
	writer.write(_editedDocument);
	writer.close();
 
	// Pretty print the document to System.out
	OutputFormat format = OutputFormat.createPrettyPrint();
	writer = new XMLWriter(System.out, format);
	writer.write(_editedDocument);
 
	// Compact format to System.out
	format = OutputFormat.createCompactFormat();
	writer = new XMLWriter(System.out, format);
	writer.write(_editedDocument);
}
Je précise que j'ai aussi essayé avec la méthode Element:remove(Element)::boolean, et la méthode me retourne bien true, mais j'ai le même résultat...

Voici le type de fichier XML avec lesquels je travaille:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
<root>
	<users>
		<user id="0">
			<login>Bob</login>
			<name>Léponge</name>
			<password>lawin</password>			
		</user>            
	</users>
</root>
Le but de ma méthode de suppression est de supprimer un élément "user" dont je connais l'ID. J'utilise XPATH pour récupérer l'élément, et tout ce passe bien à ce niveau là... C'est vraiment quand je veux supprimer un élément, que j'ai pourtant bien identifié, que ça merde...!

Si quelqu'un peut m'aider, je suis preneur!!

Merci d'avance!!