# mit API komplette XML-Datei importieren

**URL:** <https://forum.shopware.com/t/mit-api-komplette-xml-datei-importieren/5244>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [24. November 2011 um 16:59 UTC](https://forum.shopware.com/t/mit-api-komplette-xml-datei-importieren/5244 "2011-11-24T16:59:06Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![MatKor](https://avatars.discourse-cdn.com/v4/letter/m/9e8a1a/32.png) [@MatKor](https://forum.shopware.com/u/MatKor)\
**Post date:** [24. November 2011 um 16:59 UTC](https://forum.shopware.com/t/mit-api-komplette-xml-datei-importieren/5244/1 "2011-11-24T16:59:06Z")

</div>

Hallo zusammen, ist es mit der API möglich eine Artikel-XML-Datei einzulesen? Ziel ist es eine WaWi automatisiert mit dem Shop abzugleichen. Die WaWi erstellt eine XML Datei der Artikel. Über die Importfunktion im Backend wird die Datei auch problemlos importiert. Per FTP wird die Datei auf den Shop-Server übertragen und nun würde ich gerne die Daten aus der XML-Datei importieren ohne die einzelnen Artikel-Daten in Array-Form zu bringen um diese mit der API zu importieren. Gruß

---

<div class="post-metadata">

**Author:** ![T.Berge](https://avatars.discourse-cdn.com/v4/letter/t/3d9bf3/32.png) [@T.Berge](https://forum.shopware.com/u/T.Berge)\
**Post date:** [25. November 2011 um 16:45 UTC](https://forum.shopware.com/t/mit-api-komplette-xml-datei-importieren/5244/2 "2011-11-25T16:45:00Z")

</div>

Hi, der Import im Backend macht aber auch nichts anderes, als das XML in ein Array zu konvertieren. Das ist ja auch nötig damit die Daten für die DB-Tabelle vorbereitet werden können. Und ohne Konvertierung müsste das XML-Konstrukt ja trotzdem durchlaufen werden um die verschachtelten Daten zu erhalten. Oder geht es dir nicht um Performance sondern um eine API-Funktion womit man XML in Array konvertieren kann? Vg,

---

<div class="post-metadata">

**Author:** ![MatKor](https://avatars.discourse-cdn.com/v4/letter/m/9e8a1a/32.png) [@MatKor](https://forum.shopware.com/u/MatKor)\
**Post date:** [28. November 2011 um 08:20 UTC](https://forum.shopware.com/t/mit-api-komplette-xml-datei-importieren/5244/3 "2011-11-28T08:20:49Z")

</div>

[quote=“T.Berge”]Oder geht es dir nicht um Performance sondern um eine API-Funktion womit man XML in Array konvertieren kann?[/quote] Fast. Ich möchte mir halt sparen die XML-Datei selber in Arrays umzuwandeln. Vielleicht hat ja die Api sowas in der Art: Api-\>import-\>(“import.xml”)? Ich habe da leider nichts gefunden. Gruß

---

<div class="post-metadata">

**Author:** ![Marcel\_S](https://avatars.discourse-cdn.com/v4/letter/m/cc9497/32.png) [@Marcel\_S](https://forum.shopware.com/u/Marcel_S)\
**Post date:** [28. November 2011 um 12:52 UTC](https://forum.shopware.com/t/mit-api-komplette-xml-datei-importieren/5244/4 "2011-11-28T12:52:15Z")

</div>

Hi, unsere API hat eine eingebaute Convert Funktion. Hierüber solltest du CSV und XML Dateien einlesen und schreiben können. So kannst du dir das Convert Object holen: `$xml = Shopware()-\>Api()-\>convert-\>xml;` Mit `$xml-\>encode(...` kannst du Arrays wieder in XMLs Format schreiben. Versuch es also einmal mit `$xml-\>decode(...`. Die Klasse hierzu befindet sich unter /engine/connectors/api/convert/xml.php. Hier solltest du dann alles finden, was du benötigst. Grüße, Marcel

---

<div class="post-metadata">

**Author:** ![MatKor](https://avatars.discourse-cdn.com/v4/letter/m/9e8a1a/32.png) [@MatKor](https://forum.shopware.com/u/MatKor)\
**Post date:** [28. November 2011 um 16:40 UTC](https://forum.shopware.com/t/mit-api-komplette-xml-datei-importieren/5244/5 "2011-11-28T16:40:11Z")

</div>

Hallo, das hört sich schon gut an. Leider funktioniert der Import trotzdem nicht. Mein Code: ` require\_once('../engine/connectors/api/api.php'); $api = new sAPI(); $import =& $api-\>import-\>shopware; $xml =& $api-\>convert-\>xml; $shopware\_arr = $xml-\>decode('shopware.xml'); $articles = $shopware\_arr['shopware']; foreach ($articles as $article) { $import-\>sArticle($article); } ` Wenn ich den Import übers Backend durchführe, wird die XML-Datei problemlos importiert. Die XML-Datei habe ich entsprechend diesen Vorgaben erstellt: [Import von Artikeln](http://wiki.shopware.de/Import-Export-Import-von-Artikeln-Kategorien-Lagerbestaenden-Kunden-Artikelpreisen%5C_detail%5C_480%5C_602.html#Import%5C_von%5C_Artikeln%5C_2). Wenn ich den obigen Code ausführe passiert leider garnichts. Über `var\_dump($import-\>sArticle($article));` in der Schleife bekomme ich einmal ein false zurück, aber eigentlich sollte das doch funktionieren. Wo ist mein Denkfehler??

---

<div class="post-metadata">

**Author:** ![Marcel\_S](https://avatars.discourse-cdn.com/v4/letter/m/cc9497/32.png) [@Marcel\_S](https://forum.shopware.com/u/Marcel_S)\
**Post date:** [29. November 2011 um 09:39 UTC](https://forum.shopware.com/t/mit-api-komplette-xml-datei-importieren/5244/6 "2011-11-29T09:39:36Z")

</div>

Hi, du solltest hier einmal Schritt für Schritt vorgehen. Bekommst du hier `$xml-\>decode('shopware.xml')` bereits eine passender Rückgabe? Wenn ja überprüfe bitte die Form des Arrays ob die so direkt wieder importiert werden kann, oder ob du hier die Struktur noch anpassen musst(Array Hierarchie etc.). In diesem Artikel ist beschrieben in welcher Form die Funktion das Array erwartet: [http://wiki.shopware.de/Import-Export-I … l\_480.html](http://wiki.shopware.de/Import-Export-Import-von-Artikeln-Kategorien-Lagerbestaenden-Kunden-Artikelpreisen%5C_detail%5C_480.html). Grüße, Marcel

---

<div class="post-metadata">

**Author:** ![MatKor](https://avatars.discourse-cdn.com/v4/letter/m/9e8a1a/32.png) [@MatKor](https://forum.shopware.com/u/MatKor)\
**Post date:** [29. November 2011 um 16:55 UTC](https://forum.shopware.com/t/mit-api-komplette-xml-datei-importieren/5244/7 "2011-11-29T16:55:37Z")

</div>

[quote=“Marcel S”]Array Hierarchie[/quote] Das war ein gutes Stichwort. Die einzelnen Artikel-Arrays liegen in der dritten Ebene des zurückgegeben Arrays. Nachdem ich das berücksichtigt habe, funktioniert der Import auch Reibungslos. Danke. Beim nächsten Schritt des Artikel-Imports wäre ich auch für einen Hinweis dankbar. Da bei vielen der importierten Artikel die Bilder noch fehlen, werden diese in nächster Zeit nachgeliefert. Die Datenzusammenstellung für die API-Import-Funktion sArticleImages ist kein Thema. Beim Import allerdings kommt man schnell an die Zeitbeschränkungen des Servers. Wie wurde dieses beim Backend-Import gelöst und kann man diese Lösung auch auf den API-Import anwenden? Gruß

---

<div class="post-metadata">

**Author:** ![Marcel\_S](https://avatars.discourse-cdn.com/v4/letter/m/cc9497/32.png) [@Marcel\_S](https://forum.shopware.com/u/Marcel_S)\
**Post date:** [29. November 2011 um 17:13 UTC](https://forum.shopware.com/t/mit-api-komplette-xml-datei-importieren/5244/8 "2011-11-29T17:13:28Z")

</div>

Hi, beim Backendmodul werden einzelne Requests geschickt. Also alle 10 Artikel ein neuer Request. Dadurch gerät natürlich der Server nicht so schnell in ein Timeout, da bei jedem Request die Zeit von 0 beginnt. Dies ist natürlich allein durch die API nicht möglich. Hier kann man am besten einfach die Serverlaufzeit hochsetzen. Dies wäre auch ein komplett neues Thema. Ich gehe davon aus, dass dein Grundproblem gelöst ist. Grüße, Marcel

---

<div class="post-metadata">

**Author:** ![MatKor](https://avatars.discourse-cdn.com/v4/letter/m/9e8a1a/32.png) [@MatKor](https://forum.shopware.com/u/MatKor)\
**Post date:** [1. Dezember 2011 um 09:15 UTC](https://forum.shopware.com/t/mit-api-komplette-xml-datei-importieren/5244/9 "2011-12-01T09:15:47Z")

</div>

Ja. Das Hauptproblem ist gelöst. Danke. 🙂
