Ik ben op dit moment bezig om een script te schrijven die de openstaande orders van een Bol account doet downloaden om deze daarna in een CSV te zetten zodat ik verdere bewerkingen kan doen hiermee.
Het lukt me makkelijk genoeg om de orders te downloaden van alle Bol orders zodat ik een XML file heb met daarin de open staande orders zoals het voorbeeld hieronder:
Nu wil ik dat dus omgezet hebben naar een CSV bestand zodat ik verdere bewerkingen hiermee kan doen. Het liefste zou ik dit op een linux platform willen hebben zodat de rest van het script makkelijker te schrijven is voor mij.
Ik heb rond gezocht maar ik kan niet echt een converter vinden die dit omgezet krijgt behalve wat online tools. Nu heb ik op een gegeven moment een php script gevonden die wel werkt echter zet hij alle waardes in 2 kolommen (veldnaam ; waarde) ipv van meerdere rijen waarbij de veldnaam als eerste rij staat.
Daar ik niet veel php kennis heb, heb ik geen idee hoe ik dit kan aanpassen. Kan iemand me op de weg helpen hiermee?
Het lukt me makkelijk genoeg om de orders te downloaden van alle Bol orders zodat ik een XML file heb met daarin de open staande orders zoals het voorbeeld hieronder:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
| <?xml version="1.0" encoding="UTF-8"?> <Orders xmlns="https://plazaapi.bol.com/services/xsd/v2/plazaapi.xsd"> <Order> <OrderId>4123456789</OrderId> <DateTimeCustomer>2017-02-09T12:39:48.000+01:00</DateTimeCustomer> <DateTimeDropShipper>2017-02-09T12:39:48.000+01:00</DateTimeDropShipper> <CustomerDetails> <ShipmentDetails> <SalutationCode>02</SalutationCode> <Firstname>Billie</Firstname> <Surname>Van der Bol.com</Surname> <Streetname>Dorpstraat</Streetname> <Housenumber>1</Housenumber> <HousenumberExtended>B</HousenumberExtended> <ZipCode>1111 ZZ</ZipCode> <City>Utrecht</City> <CountryCode>NL</CountryCode> <Email>2awq74td4z4mizmx6dcdbsdbdcna@verkopen.bol.com</Email> <Company>bol.com</Company> </ShipmentDetails> <BillingDetails> <SalutationCode>02</SalutationCode> <Firstname>Billie</Firstname> <Surname>van der Bol.com</Surname> <Streetname>Dorpstraat</Streetname> <Housenumber>1</Housenumber> <HousenumberExtended>B</HousenumberExtended> <ZipCode>1111 ZZ</ZipCode> <City>Utrecht</City> <CountryCode>NL</CountryCode> <Email>2awq74td4z4mizmx6dcdbsdbdcna@verkopen.bol.com</Email> <Company>bol.com</Company> </BillingDetails> </CustomerDetails> <OrderItems> <OrderItem> <OrderItemId>2012345678</OrderItemId> <EAN>5412810182312</EAN> <OfferReference>BOLCOM00123</OfferReference> <Title>Basicxl - Rijdende Wekker - Kunststof - 16x11cm - Zwart</Title> <Quantity>1</Quantity> <OfferPrice>27.95</OfferPrice> <TransactionFee>5.18</TransactionFee> <LatestDeliveryDate>2017-02-10+01:00</LatestDeliveryDate> <OfferCondition>NEW</OfferCondition> <CancelRequest>false</CancelRequest> <FulfilmentMethod>FBR</FulfilmentMethod> </OrderItem> </OrderItems> </Order> </Orders> |
Nu wil ik dat dus omgezet hebben naar een CSV bestand zodat ik verdere bewerkingen hiermee kan doen. Het liefste zou ik dit op een linux platform willen hebben zodat de rest van het script makkelijker te schrijven is voor mij.
Ik heb rond gezocht maar ik kan niet echt een converter vinden die dit omgezet krijgt behalve wat online tools. Nu heb ik op een gegeven moment een php script gevonden die wel werkt echter zet hij alle waardes in 2 kolommen (veldnaam ; waarde) ipv van meerdere rijen waarbij de veldnaam als eerste rij staat.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| <?php $filexml='orders.xml'; if (file_exists($filexml)) { $xml = simplexml_load_file($filexml); $f = fopen('test.csv', 'w'); createCsv($xml, $f); fclose($f); } function createCsv($xml,$f) { foreach ($xml->children() as $item) { $hasChild = (count($item->children()) > 0)?true:false; if( ! $hasChild) { $put_arr = array($item->getName(),$item); fputcsv($f, $put_arr ,',','"'); } else { createCsv($item, $f); } } } |
Daar ik niet veel php kennis heb, heb ik geen idee hoe ik dit kan aanpassen. Kan iemand me op de weg helpen hiermee?
-Te huur