XML File auslesen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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".

    Comment


    • #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/>'

      Comment


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

        Comment


        • #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
          Last edited by Kabbelwasser; 22-01-2013, 13:39.

          Comment


          • #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

            Comment


            • #7
              [erledigt]

              Hi Christian,

              perfekt, danke!

              LG

              Comment


              • #8
                Originally posted by Kabbelwasser View Post
                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.

                Comment

                Working...
                X