Bonjour,
je dois exploiter des fichiers XML multi-niveau faisant minimum 300Mo.
La structure :

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>
Pour cela j'ai donc utiliser un tFileInputMSXML avec comme boucle xPath
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.