Problème pour supprimer attribut dans un fichier XML
Bonjour à tous !
Tout est dans le titre ... Non ! Je plaisante mais là je craque ! Ça fait 4 heures que je cherche dans tous les sens (forum, bouqin, etc) et je n'arrive pas à comprendre d'où vient mon maudit problème.
J'ai un fichier XML qui contient des éléments auxquels sont associés des attributs (cf. ci-dessous) et je souhaiterai supprimer un de ces éléments :
Exemple l'id 105 mais je n'y arrive pas et ça me G..... !!!!
Je vous met aussi mon code.
Je vous remercie d'avance à tous pour votre aide.
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
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<rooms>
<room id="100" state="available" type="rt1"/>
<room id="101" state="available" type="rt1"/>
<room id="102" state="available" type="rt1"/>
<room id="103" state="available" type="rt1"/>
<room id="104" state="available" type="rt2"/>
<room id="105" state="available" type="rt2"/>
<room id="106" state="available" type="rt2"/>
<room id="107" state="available" type="rt2"/>
<room id="200" state="available" type="rt1"/>
<room id="201" state="available" type="rt1"/>
<room id="202" state="available" type="rt2"/>
<room id="203" state="available" type="rt2"/>
<room id="204" state="available" type="rt3"/>
<room id="205" state="available" type="rt3"/>
<room id="206" state="available" type="rt2"/>
<room id="207" state="available" type="rt3"/>
<room id="300" state="available" type="rt1"/>
<room id="301" state="available" type="rt1"/>
<room id="302" state="available" type="rt2"/>
<room id="303" state="available" type="rt2"/>
<room id="304" state="available" type="rt2"/>
<room id="305" state="available" type="rt2"/>
<room id="400" state="available" type="rt2"/>
<room id="401" state="available" type="rt2"/>
<room id="402" state="available" type="rt2"/>
<room id="403" state="available" type="rt3"/>
<room id="404" state="available" type="rt3"/>
<room id="405" state="available" type="rt3"/>
<room id="406" state="available" type="rt4"/>
<room id="407" state="available" type="rt4"/>
<room id="1000" state="available" type="rt1"/>
</rooms> |
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
|
final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try {
final DocumentBuilder builder = factory.newDocumentBuilder();
final Document document= builder.parse(new File(XmlDoc));
NodeList Element = document.getElementsByTagName("room");
if (Element != null && Element.getLength() > 0) {
for (int i = 0; i < Element.getLength(); i++) {
Node node = Element.item(i);
Element e = (Element) node;
String id = Element.item(i).getChildNodes().item(0).getNodeValue();
if (id.equals(dataRoom)) {
node.getParentNode().removeChild(node);
}
}
}
//Sauvegarde du DOM dans un fichier XML
transformerXml(document, XmlDoc);
} catch (ParserConfigurationException | SAXException | IOException | DOMException e) {
//Boîte du message d'erreur
jop1.showMessageDialog(null, "Erreur durant la suppression d'un client dans le fichier XML\n" + e.toString(), "Erreur", JOptionPane.ERROR_MESSAGE);
} |