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
Configuration: Windows 2000 Firefox 2.0.0.7
3 réponses
-
Tu peux aussi voir la librairie JDOM qui est plus facile à utiliser.
-
-
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++; } } }