Bonjour,
je dois exploiter des fichiers XML multi-niveau faisant minimum 300Mo.
La structure :
Pour cela j'ai donc utiliser un tFileInputMSXML avec comme boucle xPath
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
18 <root> <user> <bloc id="info"> <data code="unCode">value</data> <data code="deuxCode">value</data> <data code="troisCode">value</data> <data code="quatreCode">value</data> </bloc> <bloc id="adresse"> <data code="unAutreCode">value</data> <data code="deuxAutreCode">value</data> <data code="troisAutreCode">value</data> <data code="quatreAutreCode">value</data> </bloc> .... <user> </root>
bloc[@id='info'] et bloc[@id='adresse'], pour récupérer chaque bloc et itérer dessus. Tout fonctionne bien quand j'exécute le Job pour un seul bloc.
Mais des que je passe à deux bloc ou plus en simultané, je tombe en outOfMemory error.
Le problème viens du fait que je suis obligé d'utiliser DOM4J pour parser le fichier au lieu de SAX ( moins gourmand et plus rapide) car pour utiliser du XPATH dans la boucle je doit cocher l'option
.Enable XPath in column “Schema XPath loop” But lose the order
Or cette option ne fonctionne pas avec SAX apparemment.
Avez-vous une solution pour utiliser SAX quand même?
Si je ne suis pas assez clair, demander moi des précision.
Partager