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

XML Discussion :

[TinyXML] Extraction de chaîne


Sujet :

XML

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 37
    Points : 24
    Points
    24
    Par défaut [TinyXML] Extraction de chaîne
    Bonjour,

    j'ai quelque problème afin d'extraire une chaine de caractère d'un fichier XML

    voici tout d'abord le fichier XML

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?xml version="1.0" encoding="UTF-8"?>
    <PackingList xmlns="http://www.digicine.com/PROTO-ASDCP-PKL-20040311#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Id>urn:uuid:4acd1ef7-0787-e211-9f69-0025900cf57e</Id>
     <AnnotationText>LA-RELIGIEUSE_FTR_F_FR-XX_51_2K_PAC_20130307_TIT_2D</AnnotationText>
     <IssueDate>2013-03-07T10:18:25+01:00</IssueDate>
     <Issuer>OpenCube Technologies</Issuer>
     <Creator>MXFTk DCPCreator</Creator>
     <AssetList>
      <Asset>
       <Id>urn:uuid:560859b2-0787-e211-9f66-0025900cf57e</Id>
       <AnnotationText>LA-RELIGIEUSE_FTR_F_FR-SME_51_2K_PAC_20130307_TIT_2D</AnnotationText>
       <Hash>YtF3M5mjqiGz9YviH4eSsve1iYI=</Hash>
       <Size>19138</Size>
       <Type>text/xml;asdcpKind=CPL</Type>
       <OriginalFileName>CPL_LA-RELIGIEUSE_FTR_F_FR-SME_51_2K_PAC_20130307_TIT_2D_560859b2-0787-e211-9f66-0025900cf57e.xml</OriginalFileName>
      </Asset>
     </AssetList>
    je l'ai bien sur raccourci afin de faciliter la lecture .

    Mon objectif est d'extraire la valeur du node hash c'est a dire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    YtF3M5mjqiGz9YviH4eSsve1iYI=
    et de le comparer avec un hash que j'aurai moi même calculé cependant il n'y a pas qu'un seul node de se nom je dois donc extraire tous les hash avec les nom de fichier afin de pouvoir les comparer avec les hahs que j'aurai calculé

    schématiquement parlant :

    XML -> extraire hash + nom_fichier -> Programme -> comparaison entre Hash calculé et Hash extrait


    on ma conseillé d'utilisé TinyXpath cependant je n'arrive pas du tout a comprendre son fonctionnement malgré la doc :s

    si quelqu'un pouvait m'orienter
    Vous remerciant bien cordialement

    D.S

  2. #2
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 37
    Points : 24
    Points
    24
    Par défaut
    J'ai du coup trouver une solution qui est d'utiliser Dom de QT donc voici le resultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    void Test::Extracttext(const QString pathXML)
    {
        QDomDocument doc;
        QFile file(pathXML);
        if(!file.open(QIODevice::ReadOnly)) // Si l'on n'arrive pas à ouvrir le fichier XML.
        {
            qDebug()<<"Erreur à l'ouverture du document XML";
            return;
        }
        // Ajoute le contenu du fichier XML dans un QDomDocument et dit au QDomDocument de ne pas tenir compte des namespaces
        if (!doc.setContent(&file,false)) // Si l'on n'arrive pas à associer le fichier XML à l'objet DOM.
        {
            file.close();
            qDebug()<<"Le document XML n'a pas pu être attribué à l'objet QDomDocument.";
            return;
        }
     
        // Ici, racine pointe sur l'élément <PackingList> de notre document
        QDomElement racine = doc.documentElement();
     
        // Ici, racine pointe sur une fils de <PackingList> c'est à dire <AssetList>
        racine = racine.firstChildElement("AssetList");
     
        // Ici, racine pointe sur une fils de <AssetList> c'est à dire <Asset>
        racine = racine.firstChildElement("Asset");
     
     
        while(!racine.isNull())
        {
     
            // Si on pointe sur un élément de type <Asset>
                if(racine.tagName() == "Asset")
                {
                    // On récupère le premier enfant de l'élément Asset c'est a dire <nom> ou <url>
                    QDomElement Hashage = racine.firstChildElement("Hash");
                    QDomElement Nom_fic = racine.firstChildElement("OriginalFileName");
                    // Si l'enfant de l'élément site est l'élément <Hash>
                    if(Hashage.tagName() == "Hash")
                    {
                        // On récupère le texte contenu dans la balise <nom>
                        QString strhash = Hashage.text();
                        QString strnom  = Nom_fic.text();
                        qDebug() << strhash;
                        qDebug() << strnom;
                     }
     
                  }
           racine = racine.nextSiblingElement();
          }
        file.close();
    }
    si cela peut aider d'autre personne
    Merci

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

Discussions similaires

  1. Extraction de chaîne
    Par maestro1303 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/10/2008, 11h19
  2. [PC] Extraction de chaîne
    Par kodac dans le forum Cobol
    Réponses: 6
    Dernier message: 22/10/2008, 14h45
  3. Réponses: 1
    Dernier message: 07/01/2008, 23h17
  4. Problème dans l'extraction de chaîne
    Par andreditdd dans le forum Langage
    Réponses: 9
    Dernier message: 11/12/2007, 09h44
  5. Réponses: 13
    Dernier message: 17/10/2005, 15h32

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