Changer nom balise avec Java Sax
phlip7
Messages postés
11
Statut
Membre
-
phlip7 Messages postés 11 Statut Membre -
phlip7 Messages postés 11 Statut Membre -
Bonjour,
J'ai par exemple le fichier xml suivant:
<moteur>
<diesel>
</diesel>
<sp 95>
</sp 95>
</moteur>
Comment puis-je avec sax, modifier le nom d'une balise; par exemple changer le nom de la balise "sp 95" en "sp 98"?
Merci de vos réponses (je suis penché sur le problème depuis hier et je continue)
J'ai par exemple le fichier xml suivant:
<moteur>
<diesel>
</diesel>
<sp 95>
</sp 95>
</moteur>
Comment puis-je avec sax, modifier le nom d'une balise; par exemple changer le nom de la balise "sp 95" en "sp 98"?
Merci de vos réponses (je suis penché sur le problème depuis hier et je continue)
A voir également:
- Changer nom balise avec Java Sax
- Changer dns - Guide
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Changer nom iphone - Guide
- Changer nom pc - Guide
2 réponses
Pour l'instant j'ai quelque chose comme ça qui ne marche toujours pas :
public void startElement(String uri, String localName,String qName, Attributes attributes) throws SAXException {
System.out.println("Start Element :" + qName);
if (qName.equalsIgnoreCase("sp 95")) {
handler.startElement(" ", " ", "sp 98",null);
qName="sp 98";
}
}
Bon après recherche, il me semble que cela ne soit pas possible avec SAX.
J'ai donc utiliser JDOM.
Toutefois si quelqu'un a une îdée avec SAX, je suis preneur.
Mon traitement avec JDOM :
J'ai donc utiliser JDOM.
Toutefois si quelqu'un a une îdée avec SAX, je suis preneur.
Mon traitement avec JDOM :
import java.io.*;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Iterator;
import java.util.StringTokenizer;
public class JDom {
static org.jdom.Document document;
static Element racine;
public static void main(String[] args) {
try {
lireFichierXml("file.xml");
remplaceElement("sp 95","sp 98");
}
}
enregistreFichier("file.xml");
} catch (Exception e) {
}
}
// On parse le fichier et on initialise la racine de notre arborescence
static void lireFichierXml(String fichierXml) throws Exception {
SAXBuilder sxb = new SAXBuilder();
document = sxb.build(new File(fichierXml));
racine = document.getRootElement();
}
// Remplacement des balises A ADAPTER SELON LA
// STRUCTURE DE VOTRE FICHIER XML
static void remplaceElement(String element, String newElement) {
List listTerminaux = racine.getChildren();
Iterator i = listTerminaux.iterator();
while (i.hasNext()) {
Element courant = (Element) i.next();
List term = courant.getChildren(element);
Iterator iterm = term.iterator();
while(iterm.hasNext()){
Element terminal = (Element)iterm.next();
terminal.setName(newElement);
}
}
}
// Enregistrement des modifications dans le fichier
// d'origine dans un format classique.
static void enregistreFichier(String fichier) throws Exception {
XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
sortie.output(document, new FileOutputStream(fichier));
}
}