Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2665 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  parsing xml, est ce une bonne solution ? (design)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

parsing xml, est ce une bonne solution ? (design)

n°1231702
xiluoc
un pc pour les unirs ....
Posté le 26-10-2005 à 17:04:21  profilanswer
 

:hello: ,
fichier XML

Code :
  1. <presentationClientLog>
  2. <date>...</date>
  3. <connection>
  4.                 <system>asda</system>
  5.                 ect
  6.  <.. ..>
  7. </connection>
  8. <ispecReceived>
  9.  <ispecModelName>MENU</ispecModelName>
  10.  <cursorFieldName>ACTION</cursorFieldName>
  11.  <ispecFields>
  12.   <... .. >
  13.  </ispecFields>
  14. </ispecReceived>
  15. <ispecSent>
  16.  <ispecModelName>MENU</ispecModelName>
  17.  <cursorFieldName>ACTION</cursorFieldName>
  18.  <ispecFields>
  19.   <.. ..>
  20.  </ispecFields>
  21. </ispecSent>
  22. </presentationClientLog>


 
J aimerai parser el fichier recuperer quasiment tous les fields, mettre ca entant d'attributs dobject  
( exemple ObjTest = 1 objet connection (attribut x, x1, x2) + 1 Array list of ispecSent +  1 Array list of ispecReceived.
 
Pour ensuite reutilier les donnes (simulation de load) pour chronometrer les transactions dun serveur.
 
J utilise JDOM pour construre larbre en memoire et ensuite if /if else pour reconaitre les nom delement qui minteresse.
 

Code :
  1. public static void parseXML()
  2. {
  3.  String caseFile = "log.xml";
  4.  SAXBuilder builder = new SAXBuilder();
  5.    
  6.     // command line should offer URIs or file names
  7.     try {
  8.       Document document = builder.build(caseFile);
  9.       System.out.println(caseFile + " Loaded." );
  10.       listNodes(document);     
  11.     }
  12.     // indicates a well-formedness error
  13.     catch (JDOMException e) {
  14.       System.out.println(caseFile + "XML document not well-formed." );
  15.       System.out.println(e.getMessage());
  16.     } 
  17.     catch (IOException e) {
  18.       System.out.println("Could not check " + caseFile);
  19.       System.out.println(" because " + e.getMessage());
  20.     } 
  21.  
  22. }
  23.   public static void listNodes(Object o) {
  24.    
  25.      if (o instanceof Element) {
  26.        Element element = (Element) o;
  27.        System.out.println("Element: " + element.getName());
  28.        List children = element.getContent();
  29.        Iterator iterator = children.iterator();
  30.        while (iterator.hasNext()) {
  31.          Object child = iterator.next();
  32.          listNodes(child);
  33.        }
  34.      }
  35.      else if (o instanceof Document) {
  36.        System.out.println("Document" );
  37.        Document doc = (Document) o;
  38.        List children = doc.getContent();
  39.        Iterator iterator = children.iterator();
  40.        while (iterator.hasNext()) {
  41.          Object child = iterator.next();
  42.          listNodes(child);
  43.        }
  44.      }
  45.      else if (o instanceof Comment) {
  46.        System.out.println("Comment" );
  47.      }
  48.      else if (o instanceof CDATA) {
  49.        System.out.println("CDATA section" );
  50.        // CDATA is a subclass of Text so this test must come
  51.        // before the test for Text.
  52.      }
  53.      else if (o instanceof Text) {
  54.        System.out.println("Text" );
  55.      }
  56.      else if (o instanceof EntityRef) {
  57.        System.out.println("Entity reference" );
  58.      }
  59.      else if (o instanceof ProcessingInstruction) {
  60.        System.out.println("Processing Instruction" );
  61.      }
  62.      else// This really shouldn't happen
  63.        System.out.println("Unexpected type: " + o.getClass());
  64.      }
  65.    
  66.    }


 
 
si je fais des test dans la fonction list genre

Code :
  1. if (element.getName().isEqual("system" ))
  2.      connectionObj.setSystem = element.valeur;


 
ou encore dans le cas danstag qui se repetera  

Code :
  1. <ispecReceived>....</ispecReceived>
  2. <ispecSent>....</ispecSent>
  3. <ispecReceived>....</ispecReceived>
  4. <ispecSent>....</ispecSent>
  5. <ispecReceived>....</ispecReceived>
  6. <ispecSent>....</ispecSent>


 

Code :
  1. if (element.getName().isEqual("ispecReceived" ))
  2.     ajoute opjet ispecReceived + tous ses fields a ArrayList ArrayispecReceived ?;


 
voila, est ce que cest potable comme methode ?

mood
Publicité
Posté le 26-10-2005 à 17:04:21  profilanswer
 

n°1231738
xiluoc
un pc pour les unirs ....
Posté le 26-10-2005 à 17:38:57  profilanswer
 

jai vu des outils comme jakarta digestest, mais cest ptet un peu gros pour mon truc.

n°1231753
the real m​oins moins
Posté le 26-10-2005 à 17:51:25  profilanswer
 

xstream


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1231887
sebi
Posté le 26-10-2005 à 20:50:15  profilanswer
 


+1, simple et efficasse, je m'en sers pour mes MDB


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  parsing xml, est ce une bonne solution ? (design)

 

Sujets relatifs
à propos de cadres.. ou recherche d'une autre solutionCherche personne bonne en programmation de site d'emailing bénévole
[SQL] ALTER TABLE sur table liée ?? ou solution de contournement plz ?[UML] quel design patern utiliser ?
Design pour site webprobleme de liens sur un design web !
CSS : quelle solution pour conserver mise en page avec layout ?Programmation graphique : design d'un moteur de terrain en voxel
Comment utiliser un fichier se trouvant dans l'explorateur de solutionDesign applicatif & methodes statiques
Plus de sujets relatifs à : parsing xml, est ce une bonne solution ? (design)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR