Gestion d'un XML sous JAVA
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Gestion d'un XML sous JAVA



  1. #1
    Dazh

    Gestion d'un XML sous JAVA


    ------

    Bonjour à tous,

    Je vous contacte car j'ai un projet informatique qui va débuter bientôt.
    Le but de ce projet est d'utiliser le langage JAVA pour créer une application. L'objectif de ce projet est d'exploiter les données contenues dans un fichier XML pour réaliser une série de calcul. Le point noir de ce projet est la taille du fichier à traiter, plus de 700 Mo cela représente environ 17 millions de lignes.

    Comment puis-je gérer un fichier d'une taille tel que celle-ci sachant que notepad++ // internet explorer // Eclipse n'arrivent pas à ouvrir le fichier à cause de sa taille.

    Je souhaite utiliser les API suivantes : DOM, Xerces et SAXE. Cependant l'utilisation nécessaire de la mémoire par la machine virtuel JAVA est supérieur à celle présente physiquement sur mon poste de travail. Comment je peut pallier ce problème?

    Le dernier point est la gestion des informations. Je souhaite utiliser Xpath pour parcourir l’arborescence de mon XML afin de pointer uniquement les informations que je souhaite traiter mathématiquement mais vue que mon parser n'arrive pas a parcourir l'ensemble de mon fichier XML quels sont les autres solutions qui s'offrent à moi ?

    Je vous remercie d'avance si vous avez quelques réponses qui pourraient m'éclairer sur ce projet.

    Cordialement,

    -----

  2. #2
    Bluedeep

    Re : Gestion d'un XML sous JAVA

    Bonjour

    Je ne connais pas java, mais en .NET j'utiliserais un XmlReader (qui éviterait donc la "montée" en mémoire du fichier, imposée de facto par le XML-DOM). Il n'y a pas un équivalent en Java ?

  3. #3
    Stan_94

    Re : Gestion d'un XML sous JAVA

    Bonjour,
    Ca fait longtemps que je n'ai pas touché à ça mais effectivement DOM crée un modèle XML en mémoire donc à oublier pour les gros fichiers.
    SAX, lui, parcours le document via un XmlReader, probablement la même technologie que celle utilisé par .NET
    Il faudrait donc partir sur le parseur SAX et pas JDom.

    Bon courage.

  4. #4
    cherbe

    Re : Gestion d'un XML sous JAVA

    Citation Envoyé par Dazh Voir le message
    L'objectif de ce projet est d'exploiter les données contenues dans un fichier XML pour réaliser une série de calcul. Le point noir de ce projet est la taille du fichier à traiter, plus de 700 Mo cela représente environ 17 millions de lignes.
    bonjour
    J'ai un peu de mal à comprendre comment vous êtes arrivé à constituer un fichier aussi volumineux ? La structure fichier ne me semble pas adaptée à autant d'information. Et XML est le format d'écriture le plus bavard ce qui accroit encore le volume.
    Votre besoin actuel me semble être le moment pour passer en base de données qui serait bien mieux adaptée.
    Vous gagnerez énormément en temps de réponse et en sécurité des données.

  5. A voir en vidéo sur Futura
  6. #5
    pm42

    Re : Gestion d'un XML sous JAVA

    Citation Envoyé par Stan_94 Voir le message
    Il faudrait donc partir sur le parseur SAX et pas JDom.
    Oui. Ou le faire en 2 passes : un SAX pour extraire les informations pertinentes et générer un autre fichier plus concis qui lui sera en mémoire et utilisable en Dom par ex et facile à traiter avec XPath.
    Sinon, en DOM avec une machine virtuelle 64 bits avec une grosse heap size de plusieurs Go, cela passera.

    Maintenant comme d'autres l'ont fait remarquer, un fichier XML de cette taille là est inadapté et le transformer en une structure plus gérable serait une bonne idée : fichiers XML multiples, base relationnelle, base NoSql, etc.

  7. #6
    Dazh

    Re : Gestion d'un XML sous JAVA

    Bonjour,

    J'ai attendu la début de semaine afin que ce sujet arrive à maturité. Merci d'avoir participé à la discussion.
    Alors voici quelques points pour répondre à vos interrogations:

    #2 Je ne connais pas les équivalent dans les autres langages de programmation. Mais certainement que des solutions existent en .net. Je cherche surtout une solution viable et réalisable par un niveau proche de débutant (scolaire).

    #3 En effet SAX semble être la meilleur solution pour pouvoir consulter les informations présente dans ce fichier. J'ai aussi entendu parlé de Stax qui permet de gerrer en flux la lecture XML. Dois-je me renseigner sur cette api ?

    #4 La constitution de ce fichier ce fait via une application qui permet de créer des profils. Je comprends que ce genre de format n'est pas sensé contenir autant d'informations. Cependant, cela fait parti d'un projet professionnel de développement d'une nouvelle application non intrusive dans le but de créer des séries de calcul. Ce point m'est imposé par le cahier des charges du projet. Et je n'ai pas la possibilité de changer la composition de ce XML avant exploitation.

    Est il possible de réaliser cette application avec un niveau proche du scolaire en développement?
    Si vous avez des avis ou encore des conseils à me donner avant que je me lance corps et âme dans ce projet n’hésitez pas à m'en faire pars.

    Merci de votre participation.

  8. #7
    cherbe

    Re : Gestion d'un XML sous JAVA

    Bonjour
    Citation Envoyé par Dazh Voir le message
    Est il possible de réaliser cette application avec un niveau proche du scolaire ?
    niveau scolaire, c'est vague !
    A mon avis, le plus compliqué dans ce projet sera de prendre en main le langage JAVA qui n'est pas le plus simple pour débuter.
    avec le peu d'informations dont on dispose sur le futur code, il est difficile d'évaluer la difficulté mais à priori, ça semble moins compliqué que de dompter le langage.

Discussions similaires

  1. Programmation en java avec netbeans: gestion d'une médiathèque
    Par Marie120 dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 22/12/2015, 23h01
  2. fichier excel sous java
    Par invite9da73615 dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 25/06/2012, 18h03
  3. java sous vista
    Par bird12358 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 02/09/2007, 08h57
  4. matlab sous java
    Par ABN84 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 26/02/2007, 05h25
  5. Animation sous Java
    Par G13 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 02/07/2006, 01h12