XML File auslesen

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

  • XML File auslesen

    Hi,

    ich komme nicht mehr weiter und finde den Fehler nicht: Warum kann ich aus dieser XML Datei mit folgendem Script nichts auslesen?

    XML:
    PHP-Code:
    <?xml version="1.0" encoding="utf-8"?>
    <result>
      <success>1</success>
      <orders>
        <paging>
          <total>1</total>
          <page>1</page>
          <pages>1</pages>
          <per_page>20</per_page>
        </paging>
        <order>
          <order_no>123-456-789</order_no>
          <total>12.12</total>
          <shipping>3.50</shipping>
          <max_shipping_date>2010-01-01 20:15:00</max_shipping_date>
          <payment>CC</payment>
          <status>pending</status>
          <invoice_no>123456</invoice_no>
          <comment_client>Ich freu mich so sehr!</comment_client>
          <comment_merchant>Beim Lieferanten bestellt</comment_merchant>
          <created>2010-01-01 20:15:00</created>
          <client>
            <client_id>1</client_id>
            <gender>Herr</gender>
            <first_name>Max</first_name>
            <last_name>Mustermann</last_name>
            <company>Muster GmbH</company>
            <street>Musterstraße</street>
            <street_no>1</street_no>
            <address_add>Seiteneingang</address_add>
            <zip_code>11111</zip_code>
            <city>Musterstadt</city>
            <country>DE</country>
            <email>max@mustermann.de</email>
            <phone>123456-4555</phone>
          </client>
          <delivery_address>
            <gender>Herr</gender>
            <first_name>Max</first_name>
            <last_name>Mustermann</last_name>
            <company>Muster GmbH</company>
            <street>Musterstraße</street>
            <street_no>1</street_no>
            <address_add>Seiteneingang</address_add>
            <zip_code>11111</zip_code>
            <city>Musterstadt</city>
            <country>DE</country>
          </delivery_address>
          <items>
            <item>
              <item_id>1</item_id>
              <product_id>1</product_id>
              <variant_id>5</variant_id>
              <product_art_no>ART-99</product_art_no>
              <name>Musterprodukt</name>
              <name_add>Grün</name_add>
              <qty>2</qty>
              <price>10.00</price>
              <price_sum>20.00</price_sum>
              <tax>1</tax>
            </item>
          </items>
          <coupon>
            <coupon_id>1</coupon_id>
            <total>10.00</total>
            <code>ABCDEFG</code>
            <comment>Neukunde</comment>
          </coupon>
        </order>
      </orders>
    </result>
    PHP:

    PHP-Code:
            // Datenquelle XML
            
    $xml simplexml_load_file('http://webservice.rakuten.de/merchants/orders/getOrders?key=' $key .'&format=xml');

            
    // Artikelloop: Bestelldaten holen
                
    foreach ($xml->order as $order
                    { 
                    
    $r_order['order_no'] = $order->order_no;
                    echo 
    'Bestellnr ' $r_order['order_no'] . ' importiert<br/>';
                    } 
    Wie ihr seht, es geht um den Bestellungsimport aus einem Rakuten Shop. Der Shop Key ist der Sandbox Key, der öffentlich verfügbar ist:
    $key="123456789a123456789a123456789a12";

    Habe ich ein Brett vorm Kopf? Ich sehen den Fehler nicht. Ich bekomme auch keine Fehlermeldung, sondern einfach keine Ergebnisse.

    Danke vorab für eure Hilfe!
    LG
    Kabbelwasser

  • #2
    Das Element heiß "orders" und nicht "order".

    Kommentar


    • #3
      Hallo,

      danke für den Tipp, aber dies hier bringt auch kein Ergebnis:

      PHP-Code:
      // Artikelloop: Bestelldaten holen 
      foreach ($xml->orders as $order

      $r_order['order_no'] = $order->order_no
      echo 
      'Bestellnr ' $r_order['order_no'] . ' importiert<br/>'

      Kommentar


      • #4
        orders hat kein direktes Nachfahrenelement order_no.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Deswegen hatte ich ja zuerst "order", das hat ein direktes Nachfahrenelement. Tat aber ja trotzdem nicht?! Noch jemand eine Idee?

          Danke und lg,
          Kabbelwasser
          Zuletzt geändert von Kabbelwasser; 22.01.2013, 14:39.

          Kommentar


          • #6
            Hallo Kabbelwasser,

            versuch mal

            PHP-Code:
            foreach ($xml->orders as $order
            {
                 foreach(
            $order->order as $single_order)
                 {
                        
            $r_order['order_no'] = $single_order->order_no
                        echo 
            'Bestellnr ' $r_order['order_no'] . ' importiert<br/>';
                 }

            Viele Grüße
            Christian
            C. Berens - Webentwickler

            Kommentar


            • #7
              [erledigt]

              Hi Christian,

              perfekt, danke!

              LG

              Kommentar


              • #8
                Zitat von Kabbelwasser Beitrag anzeigen
                Noch jemand eine Idee?
                Was heißt da "noch eine Idee"? Du meinst wohl eher "postet mir den fertigen Code, ich kapiers nicht". Denn die richtigen Antwort hattest du ja bereits erhalten.

                Kommentar

                Lädt...
                X