Découpage fichier xml
akhen3100
-
vignemail1 Messages postés 1262 Statut Contributeur -
vignemail1 Messages postés 1262 Statut Contributeur -
Bonjour
Je recherche un code java utilisant SAX pour découper un gros fichier xml en plusieurs petits fichiers xml:
en entrée on a un fichier de type
<?xml version="1.0" encoding="ISO" standalone="yes"?>
<TestGlobal>
<Test>
....bloc1....
</Test>
<Test>
.....bloc2...
</Test>
....
</TestGlobal>
et en sortie on aura des fichiers avec la structure unitaire
fic1 :
<?xml version="1.0" encoding="ISO-8859-15" standalone="yes"?>
<Test>
...bloc1...
</Test>
fic2
<?xml version="1.0" encoding="ISO-8859-15" standalone="yes"?>
<Test>
...bloc2...
</Test>
ficN
...
...
Merci pour votre aide
Je recherche un code java utilisant SAX pour découper un gros fichier xml en plusieurs petits fichiers xml:
en entrée on a un fichier de type
<?xml version="1.0" encoding="ISO" standalone="yes"?>
<TestGlobal>
<Test>
....bloc1....
</Test>
<Test>
.....bloc2...
</Test>
....
</TestGlobal>
et en sortie on aura des fichiers avec la structure unitaire
fic1 :
<?xml version="1.0" encoding="ISO-8859-15" standalone="yes"?>
<Test>
...bloc1...
</Test>
fic2
<?xml version="1.0" encoding="ISO-8859-15" standalone="yes"?>
<Test>
...bloc2...
</Test>
ficN
...
...
Merci pour votre aide
A voir également:
- Découpage fichier xml
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
3 réponses
Je n'ai pas fait de Java depuis 3 ans mais je pense que cela devrait suffire. (p.s.: ce site n'est pas là pour faire ton boulot mais pour te donner des conseils.)
import java.io.*;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
import org.jdom.filter.*;
import java.util.List;
import java.util.Iterator;
public class JDOM2 {
static org.jdom.Document document;
static Element racine;
public static void main(String[] args) {
//On crée une instance de SAXBuilder
SAXBuilder sxb = new SAXBuilder();
try {
//On crée un nouveau document JDOM avec en argument le fichier XML
//Le parsing est terminé ;)
document = sxb.build(new File(args[0]));
} catch(Exception e){}
//On initialise un nouvel élément racine avec l'élément racine du document.
racine = document.getRootElement();
List listEnfants = racine.getChildren();
int index = 0;
//On crée un Iterator sur notre liste
Iterator i = listEnfants.iterator();
while(i.hasNext())
{
//On recrée l'Element courant à chaque tour de boucle afin de
//pouvoir utiliser les méthodes propres aux Element comme :
//selectionner un noeud fils, modifier du texte, etc...
try{
Element courant = (Element)i.next();
FileOutputStream fos = new FileOutputStream("fichier"+index+".xml");
XMLOutputter output = new XMLOutputter(XMLOutputter.preserveFormat);
output.output(courant);
}
catch (IOException e) {
System.err.println(e);
}
index++;
}
}
}