Ankündigung

Einklappen
Keine Ankündigung bisher.

xml und php

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • xml und php

    Hi Zusammen!!
    Hab' viel gelesen und möchte wie alle eine xml datei per php auslesen.
    ich stolper über cdata, das kann mein script nicht lesen und ich finde leider auch kleine lösung.

    hier mal ein auszug aus meiner xml datei!

    Code:
    - <sponsor>
     <testMode>0</testMode> 
     
     <authCost>3.0</authCost> 
     
     <currency>EUR</currency> 
     
    - <address>
    - <![CDATA[ Haupt Straße 5610117 Berlin ]]>f(clean); 
     </address>
     
     
     <MC_donationcert-yearly>0</MC_donationcert-yearly> 
     
     <MC_sponsorid>1711567</MC_sponsorid> 
     
     <countryString>Germany</countryString>
    1) vor sponsor ist ein Minus ??? Warum ??
    2) ich kann alles auslesen, aber eben nicht das cdata dingsda ??

    ich habe bemerkt das man keine umbrüche usw. in der xml datei haben darf, stimmt das ?

    hier mein script:
    Code:
    <?php
    error_reporting(E_ALL);
    $max = '50'; // Einträge pro Seite einschränken
    $file = "test4.xml";
    if(!$xml = simplexml_load_file($file)){
    die("XML-Dokument kann nicht geparst werden!");
    }
     
    for($i=0;$i < $max ; $i++){
     $testMode = $xml->sponsor[$i]-> testMode;
     $authCost = $xml->sponsor[$i]-> authCost;
     $currency = $xml->sponsor[$i]-> currency;
     $address = $xml->sponsor[$i]-> address;
     $MC_donationcert_yearly = $xml->sponsor[$i]-> MC_donationcert_yearly;
     $MC_sponsorid = $xml->sponsor[$i]-> MC_sponsorid ;
     $countryString = $xml->sponsor[$i]-> countryString;
     
    echo '<b>testMode:</b>'.utf8_decode($testMode).'<br/>';
    echo '<b>authCost:</b>'.utf8_decode($authCost).'<br/>';
    echo '<b>currency:</b>'.utf8_decode($currency).'<br/>';
    echo '<b>address:</b>'.utf8_decode($address).'<br/>';
    echo '<b>MC_donationcert-yearly:</b>'.utf8_decode($MC_donationcert-yearly).'<br/>';
    echo '<b>MC_sponsorid:</b>'.utf8_decode($MC_sponsorid).'<br/>';
    echo '<b>countryString:</b>'.utf8_decode($countryString).'<br/>';
     
    echo '--------------------------------------------------------------<br/>';
        }
    ?>
    jou, für hilfe bin ich sehr dankbar ....
    liebe grüße.........martin

  • #2
    Poste mal deine kompl. XML Datei, dann schreib ich dir
    nen Script zum Auslesen.

    Was ist das CDATA? Lass das mal da raus!


    Die "Minus-Zeichen" stellt dein Browser da, damit du die Struktur besser erkennen kannst.

    Kommentar


    • #3
      Das wäre ja toll !!!

      Hallo, suuuper !!! hier mal das Script :
      Code:
      - <sponsor>
       <testMode>0</testMode> 
       
       <authCost>120.0</authCost> 
       
       <currency>EUR</currency> 
       
      - <address>
      - <![CDATA[ Torsten Müller Michael-Wolfgan-Weg 13 Frankfurt ]]>f(clean); 
       </address>
       
       
       <MC_donationcert-yearly>1</MC_donationcert-yearly> 
       
       <MC_sponsorid>17123237</MC_sponsorid> 
       
       <countryString>Germany</countryString> 
       
       <installation>103232330</installation> 
       
       <countryMatch>Y</countryMatch> 
       
       <transId>20233696</transId> 
       
       <AVS>21122</AVS> 
       
       <amountString>EUR120.00</amountString> 
       
       <postcode>6523334</postcode> 
       
       <msgType>authResult</msgType> 
       
       <MC_password>723480</MC_password> 
       
       <name>Torsten Müller</name> 
       
       <transStatus>Y</transStatus> 
       
       <desc>40 qm Regenwald in </desc> 
       
       <cardType>Mastercard</cardType> 
       
       <lang>de</lang> 
       
       <transTime>134545454</transTime> 
       
       <authAmountString>EUR120.00</authAmountString> 
       
       <authAmount>120.0</authAmount> 
       
       <ipAddress>23.134.654.55</ipAddress> 
       
       <cost>120.0</cost> 
       
       <instId>103530</instId> 
       
       <amount>120.0</amount> 
       
       <compName> Deutschland e.V.</compName> 
       
       <MC_gift>0</MC_gift> 
       
       <country>DE</country> 
       
       <rawAuthMessage>careee.eee.authorised</rawAuthMessage> 
       
       <authCurrency>EUR</authCurrency> 
       
       <email>mustermann@t-online.de</email> 
       
       <cartId>12348</cartId> 
       
       <rawAuthCode>A</rawAuthCode> 
       
       <authMode>A</authMode> 
       
       </sponsor>
      So sieht es aus !!
      Ich möchte es auslesen und jedes element in einer eigenen Variable speichern um später vielleicht besser suchen zu können, oder alles in eine mysql datenbank zu schreiben.
      es gibt leider auch dateien dabei die etwas von der obigen abweichen ! toll wäre es wenn ich trotzdem alles darstellen könnte ???

      vielen dank schonmal und liebe grüße..........martin

      Kommentar


      • #4
        PHP-Code:

        $xml_pfad 
        ="Pfad/Zur/Datei.xml";

        $xml simplexml_load_file($xml_pfad);

             foreach(
        $xml->sponsor as $sponsor) {
              
        $testmode $sponsor->testmode;
             } 
        Dann kannst du auch mal mehrere Datensätze anlegen.

        Ich finde aber, dass du mehr Struktur in deine XML-Datei bringen solltest.
        Also ich überblicke die nur schwer.

        Kannst ja mal gucken, ob das klappt.

        Kommentar


        • #5
          hat funktioniert

          HI ! hat tatsächlich funktioniert !!!

          eine frage hab ich da aber noch

          meine xml sieht ja ca. so aus:

          <sponsor>
          <bla>inhalt</bla>
          <blaI>inhalt</blaI>
          <blaII>inhalt</blaII>
          </sponsor>

          wenn ich die datei so abfrage gibt es fehler !

          ich muss immer einen tag davor setzten, also so:
          <EXTRADATAG>
          <sponsor>
          <bla>inhalt</bla>
          <blaI>inhalt</blaI>
          <blaII>inhalt</blaII>
          </sponsor>
          <EXTRADATAG>

          woran kann des das liegen ?

          liebe grüße....martin

          Kommentar


          • #6
            Sah Deine Datei vorher so aus
            Code:
            <sponsor>
            ..
            </sponsor>
            oder so
            Code:
            <sponsor>
            ..
            </sponsor>
            <sponsor>
            ..
            </sponsor>
            <sponsor>
            ..
            </sponsor>
            ?

            Kommentar


            • #7
              das sind die xml regeln

              Kommentar


              • #8
                siehe weiter oben

                hi, die regeln verstehe ich dann aber nicht !

                weiter oben ist die genaue datei, aber ich muss, damit ich sie abfragen kann noch einen tag vor allem und nach allem einfügen.

                also so:

                <irgendeinbegriff>
                dann die datei
                </irgendeinbegriff>

                ...und das verstehe ich eben nicht

                liebe grüße.............martin

                Kommentar


                • #9
                  Dann frage ich halt noch mal nach:
                  In der Datei steht immer nur ein Sponsor?

                  Kommentar


                  • #10
                    pro sponsor = eine datei

                    Hi !!
                    Ja, stimmt pro Datei nur ein Sponsor !

                    liebe grüße..........martin

                    Kommentar


                    • #11
                      PHP-Code:
                      <?php
                      $xml 
                      '<?xml version="1.0" encoding="iso-8859-1"?>
                      <sponsor>
                       <testMode>0</testMode> 
                       <authCost>3.0</authCost> 
                       <currency>EUR</currency> 
                       <address>
                       <![CDATA[ Haupt Straße 56
                        10117 Berlin ]]>f(clean); 
                       </address>
                       <MC_donationcert-yearly>0</MC_donationcert-yearly> 
                       <MC_sponsorid>1711567</MC_sponsorid> 
                       <countryString>Germany</countryString>
                      </sponsor>'
                      ;

                      $sponsor simplexml_load_string($xml);
                      echo 
                      $sponsor->address;

                      Kommentar

                      Lädt...
                      X