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

Langage PHP Discussion :

PHP extraction données


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Avril 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux

    Informations forums :
    Inscription : Avril 2012
    Messages : 111
    Points : 42
    Points
    42
    Par défaut PHP extraction données
    Bonjour,
    je voudrais via Php extraire des données d'un fichier .txt et les enregistrées dans un autre fichier.

    Monfichier natif est en xml, je le renome en .txt j'ai donc la structure suivante:
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <b1>
    	<b1_data_01>rrrrr</b1_data_01>
    	<b1_data_02>rrrrr</b1_data_02>
    	<b1_data_03>rrrrr</b1_data_03>
    	<b1_data_04>rrrrr</b1_data_04>
    </b1>
    <b2>
    	<b2_data_01>rrrrr</b2_data_01>
    	<b2_data_02>rrrrr</b2_data_02>
    	<b2_data_03>rrrrr</b2_data_03>
    	<b2_data_04>rrrrr</b2_data_04>
    </b2>
    je voudrai extraire les données comprise entre <b1> et </b1> et les enregistrées dans un fichier nommé b1.txt, les données comprise entre <b2>et</b2> dans le fichier b2.txt
    thxs.

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 211
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 211
    Points : 8 438
    Points
    8 438
    Billets dans le blog
    17
    Par défaut
    Monfichier natif est en xml, je le renome en .txt
    Inutile.

    je voudrai extraire les données comprise entre <b1> et </b1> et les enregistrées dans un fichier nommé b1.txt, les données comprise entre <b2>et</b2> dans le fichier b2.txt
    Tu peux faire ça facilement avec SimpleXML http://www.php.net/simplexml

  3. #3
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
    $contents = file_get_contents('monfichier.txt');
     
    $i = 1;
     
    while (preg_match_all("#<b$i>(.*?)</b$i>#isU", $contents, $matches, PREG_SET_ORDER))
    {
    file_put_contents('b$i.txt',$matches[0][0]."\r\n",FILE_APPEND);
    $i++;
    }
     
    ?>
    Pas testé mais normalement sa dois marcher

  4. #4
    Membre du Club
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Avril 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux

    Informations forums :
    Inscription : Avril 2012
    Messages : 111
    Points : 42
    Points
    42
    Par défaut
    j'essaie avec Dom:

    extrait de mon fichier xml:
    Code xml : 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
         <Secpos>
            <SecurityCode>13607590</SecurityCode>
            <Isin>BE6220236143</Isin>
            <AssetQty>35000</AssetQty>
            <AssBalDate>2012-10-03</AssBalDate>
            <PriceCcy>EUR</PriceCcy>
            <UnitPrice>104.674</UnitPrice>
            <PriceDate>2012-10-03</PriceDate>
            <CostPrice>101.0255</CostPrice>
            <aveCostCcy>EUR</aveCostCcy>
            <UnReEur>1276.98</UnReEur>
            <TotSec>36635.90</TotSec>
            <TotSecCcy>EUR</TotSecCcy>
            <TotEur>36635.90</TotEur>
            <TotSecRef>36635.90</TotSecRef>
            <AccrIntRef>747.35</AccrIntRef>
            <RefCcy>EUR</RefCcy>
            <PosPerf/>
            <PosBlock/>
            <QtyBlock>0</QtyBlock>
            <CollectionId>99990045.78</CollectionId>
            <CorrFact/>
          </Secpos>
        </pos>
        <pos PosId="6008408">
          <Secpos>
            <SecurityCode>13504445</SecurityCode>
            <Isin>FR0010957274</Isin>
            <AssetQty>20000</AssetQty>
            <AssBalDate>2012-10-03</AssBalDate>
            <PriceCcy>EUR</PriceCcy>
            <UnitPrice>100.31</UnitPrice>
            <PriceDate>2012-10-03</PriceDate>
            <CostPrice>101.1927</CostPrice>
            <aveCostCcy>EUR</aveCostCcy>
            <UnReEur>-176.53</UnReEur>
            <TotSec>20062.00</TotSec>
            <TotSecCcy>EUR</TotSecCcy>
            <TotEur>20062.00</TotEur>
            <TotSecRef>20062.00</TotSecRef>
            <AccrIntRef>745.36</AccrIntRef>
            <RefCcy>EUR</RefCcy>
            <PosPerf/>
            <PosBlock/>
            <QtyBlock>0</QtyBlock>
            <CollectionId>99990045.78</CollectionId>
            <CorrFact/>
          </Secpos>
    Mon début de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
      $dom = new DomDocument;
      $dom->load("isin/isin.xml");
     
      $ListISIN = $dom->getElementsByTagName("Secpos");
     
      foreach($ListISIN as $listisin)
      {
        echo $listisin->nodeValue;
     
        echo "<br />";
      }
    ?>
    le résultat obtenu dans le navigateur:
    1739822000 XS0203831432 7000 2012-10-03 EUR 103.875 2012-10-03 95.2143 EUR 606.25 7271.25 EUR 7271.25 7271.25 311.41 EUR 0 53006250.3
    1808555000 XS0218652906 10000 2012-10-03 EUR 96.273 2012-10-03 97.8673 EUR -159.43 9627.30 EUR 9627.30 9627.30 147.43 EUR 0 53006100.3
    2296450000 FR0010640037 41000 2012-10-03 EUR 98 2012-08-27 100.0294 EUR -832.06 40180.00 EUR 40180.00 40180.00 760.21 EUR 0 53006100.3
    2436313000 XS0440007176 15000 2012-10-03 EUR 95.584 2012-10-03 102.4095 EUR -1023.83 14337.60 EUR 14337.60 14337.60 163.46 EUR 0 53006100.3
    11905988 XS0473615168 20000 2012-10-03 EUR 103 2012-10-03 101.5054 EUR 298.92 20600.00 EUR 20600.00 20600.00 733.74 EUR 0 53006100.3
    13765042 XS0626808496 5000 2012-10-03 EUR 106.861 2012-10-03 102.0000 EUR 243.05 5343.05 EUR 5343.05 5343.05 54.62 EUR 0 53006100.3
    De cette façon, tour ce qui est compris entre <Secpos> et </Secpos> est affiché je cherche maintenant à afficher uniquement ce qui est entre certaines balise comme <Isin> ou <TotSec>...

    Merci a vous deux pour vos réponses.

Discussions similaires

  1. Extraction données php flash
    Par Jarod51 dans le forum Langage
    Réponses: 0
    Dernier message: 17/05/2010, 09h53
  2. [PDF] Extraction données PDF dans un projet PHP
    Par Kaldyris dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 08/07/2008, 10h42
  3. [XSLT] php xml xslt extraction données
    Par Cyrille1969 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 26/04/2006, 23h23
  4. [MySQL] Problème affichage tableau PHP avec données SQL
    Par akalaan dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/04/2006, 14h34
  5. Extraction données d'une ArrayList
    Par Teb dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 10/04/2006, 17h42

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