shopshop

Powershell XML Datei zu CSV Umwandeln

Guten Tag zusammen,

im Zuge der weiteren Automatisierung des Bestandsabgleichs mit unseren Lieferanten arbeite ich bereits mit Batchdatein, die die Bestandsdateien vom Lieferanten herunterladen, bearbeiten und in das Warenwirtschaftssystems importieren. Über die Aufgabenplanung von Windows Serversklappt dies mit CSV Dateien bereits ziemlich gut.
Nun habe ich ein kleines Problem, ein Lieferant stellt seine Bestandsdatei nur als XML Datei zur Verfügung,die Datei beinhaltet 2000-3000 Produkte, die Anzahl der Bilder variiert..
Für den Import in unser Warenwirtschaftssystem benötige ich eine CSV Datei.Habe bereits hier im Forum nach Lösungen gesucht, auch einige gefunden (XML in CSV bat batch powershell) .Diese habe ich versucht, auf meine XML Datei umzuschreiben, leider ohne Erfolg face-sad .

Hoffe auf Eure Untersützung.

Gruß und vielen Dank im Voraus !


Auszug XML Datei:

<?xml version="1.0" encoding="UTF-8" standalone="true"?>

-<Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<Row>

-<Company>Hersteller</Company>

-<Short_Desc>Produktname +</Short_Desc>

-<sku>123456789</sku>

-<Style>12345</Style>

-<Size>3X-4X</Size>

-<Color>black</Color>

-<class>Kategorie</class>

-<qty_on_hand>0</qty_on_hand>

-<ean_barcode>12345678962</ean_barcode>

-<unit_price>20.00</unit_price>

-<unit_list_price>30.00</unit_list_price>

-<color_id>001</color_id>


-<images>

---<image>https://www.xxxxxxxx.com/abc/de/1234_005_08.jpg</image>

---<image>https://www.xxxxxxxx.com/abc/de/1234_005_08_01.jpg</image>

-</images>

-</Row>

</Root>
______________________________________________________________________________________________________________________________________________________________________________________

Benötigte CSV Datei:

sku;Style;Size;Color;class;qty_on_hand;ean_barcode;unit_price;unit_list_price;color_id;images1;images2;images3;images4;images5
123456789;12345;3X-4X;black;Kategorie;0;12345678962;20.00;30.00;1;https://www.xxxxxxxx.com/abc/de/1234_005_08.jpg;https://www.xxxxxxxx.com/abc/de/1234_005_08_01.jpg;;;
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 566167

Url: https://administrator.de/forum/powershell-xml-datei-zu-csv-umwandeln-566167.html

Ausgedruckt am: 30.04.2025 um 07:04 Uhr

user217
user217 20.04.2020 um 14:51:31 Uhr
Goto Top
Google: xml to csv converter?
Kann das Excel nicht standardmäßig?
ShopShop
ShopShop 20.04.2020 um 14:58:34 Uhr
Goto Top
Die XML Datei manuell umzuwandeln ist kein Problem, ich möchte aber automatisieren und über eine Batchdatei automatisieren.
Daher habe ich gedacht, über Powershell umwandeln und anhand einer Batchdatei automatisieren.
143728
143728 20.04.2020 um 15:17:50 Uhr
Goto Top
$in = 'D:\data.xml'  
$out = 'D:\data.csv'  
$xml = new-Object XML; $xml.Load($in)
$xml.Root.Row | %{
    $data = $_ | Select * -Exclude Images
    $cnt = 0
    $_.Images | %{
        $data | Add-Member -MemberType Noteproperty -Name "Images$(++$cnt)" -Value $_.Image  
    }
    $data
} | export-csv $out -Delimiter ";" -NoType -Encoding UTF8  
ShopShop
ShopShop 20.04.2020 um 15:52:09 Uhr
Goto Top
Vielen Dank für die schnelle Hilfe, funktioniert !!
143728
143728 20.04.2020 aktualisiert um 16:23:53 Uhr
Goto Top
Na dann bitte den grünen Haken auch nicht vergessen.