IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs XML Discussion :

[JAVA/XPath] Probleme de parseur Xml d'un fichier XML d'OOo [Débutant(e)]


Sujet :

APIs XML

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 45
    Points : 30
    Points
    30
    Par défaut [JAVA/XPath] Probleme de parseur Xml d'un fichier XML d'OOo
    Bonjour ,
    je doit faire un parseur XML qui lire le fichier Contenue d'un fichier OOo.
    Pour ça je je prend mon fichier (.odt) je le remone en . zip et le le dezip, j'optient alors des fichier XML dont l'un qui est content.xml , que je veux parseur mais j'ai du mal pour parseur le fichier car elle contient de balise qui sont de la forme :
    <office:scripts>....
    <office:body>...
    <office:text>
    <text:p text:style-name="Standard"/>
    <text:p text:style-name="Standard"/>......

    le probleme c'est quand je fait
    List listText = racine.getChildren("w:text");
    ça me donne rien


    Si qulequ'un sais comment il faut faire, ou a des pistes je veux bien

    SVP aider moi !!!
    Merci d'avance
    a++

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Tes noeuds "text:p" ne sont pas des enfants directs de ta racine, ça ne peut donc marcher.
    Le parent direct de "text:p" est "office:text", dont le parent est "office:body", dont le parent est "office:scripts".
    Il faut donc revoir donc ton parcours en java depuis le noeud racine.

    Sinon tu peux utiliser XPath qui est la norme pour rechercher des noeud, mais il faut la maitriser.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 45
    Points : 30
    Points
    30
    Par défaut
    oui je croit que j'ai compris ça ,mais quand je mets

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    List listEnfant = racine.getChildren();
     System.out.println(listEnfant.size());
            System.out.println(listEnfant);
    il ne donne la liste des
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [Element: <office:scripts [Namespace:urn:oasis:names:tc:opendocument:xmlns:office:1.0]/>],
    [Element: <office:font-face-decls [Namespace:urn:oasis:names:tc:opendocument:xmlns:office:1.0]/>], [Element: <office:automatic-styles [Namespace: urn:oasis:names:tc:opendocument:xmlns:office:1.0]/>], [Element: <office:body [Namespace: urn:oasis:names:tc:opendocument:xmlns:office:1.0]/>]]
    mais si je precise:

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    List listEnfant = racine.getChildren("office:body");
     System.out.println(listEnfant.size());
            System.out.println(listEnfant);

    il me donne

    donc la je ne suis plus comment faire en plus je debute en xml donc si tu sais comment faire ça serais cool de m'aider encore

    Merci a+++

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Regarde les méthodes disponibles dans la doc, c'est pas dur.
    Et si tu manques de background dans un domaine regarde les faq.
    C'est en cherchant qu'on apprend, pas en postant sur un forum.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 45
    Points : 30
    Points
    30
    Par défaut
    ok Merci pour ton aider

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Essaie la méthode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByTagNameNS("NS_URL", "p");
    En remplaçant NS_URL par l'url qui doit être indiquée dans le haut du xml dans un attribut du type

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 45
    Points : 30
    Points
    30
    Par défaut
    Merci il ya un membre qui ma donner cette commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.nroot.getElementsByTagName("office:body");
    et ça marche
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Diviser un fichier XML en plusieurs fichiers XML avec XSLT
    Par bobkorn dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 18/04/2008, 12h13
  2. Decomposé un fichier XML en plusieurs fichiers XML sous python
    Par elhout dans le forum Général Python
    Réponses: 6
    Dernier message: 12/03/2007, 14h20
  3. [XSLT] transfo d'un fichier XML en plusieurs fichiers XML
    Par doudou_rennes dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 28/11/2006, 12h01
  4. [XSLT]transformer un fichier XML en en fichier XML
    Par alexandra dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 16/08/2006, 14h26
  5. Réponses: 4
    Dernier message: 31/07/2006, 09h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo