Bonjour

J'ai une servlet de type doGet. Son but est d'appliquer un XSL à un XML.
Cependant mon XML est stocké dans une table oracle telle que
(NB: c'est stocké dans une table oracle car les XML correspondent à des états de commandes/clients/fournisseurs et en version "fichier" il y aurait qqchose comme 100 000 fichiers... c'est qui n'est pas la panacée)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SQL> desc xml_db_ligne;
 Name                            Null?    Type
 ------------------------------- -------- ----
 NOM_COLLECTION                  NOT NULL VARCHAR2(80)
 TEXTE                                    VARCHAR2(4000)
Je passe donc en parametre le "nom_collection" à ma servlet qui fait une connexion JDBC et va chercher toutes les bonnes lignes (getParametreXML est une fonction qui recupére le nom_collection en fonction du request) avec un code du style :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
String xml= null;
Statement recupxml = null;
String sql = "select texte from xml_db_ligne where nom_collection='"+getParametreXML(request) +"'";
recupxml=connex.createStatement();
recupxml.executeQuery(sql);
LignesXML = recupxml.getResultSet();
String ligne=null;
while(LignesXML.next())
{
       ligne = LignesXML.getString("TEXTE");
        if (ligne!=null) xml= xml + ligne;
}
quand cette partie est finie, je fais la transformation dont voici un extrait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
DocumentBuilder builder = factory.newDocumentBuilder();
builder.setErrorHandler(handler);
document=builder.parse(new InputSource(new StringReader(xml)));
Mon problème étant un gros problème de performance, j'aurais voulu savoir si :
- la méthode utilisée était la bonne
- si non, que pourrais-je envisager ?
- si oui, comment optimiser le plus possible cette méthode ?

Merci d'avance

PS: je suis en galère et ca commence à devenir... pressant