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)
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 SQL> desc xml_db_ligne; Name Null? Type ------------------------------- -------- ---- NOM_COLLECTION NOT NULL VARCHAR2(80) TEXTE VARCHAR2(4000)
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
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; }
Mon problème étant un gros problème de performance, j'aurais voulu savoir si :
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)));
- 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
Partager