[ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 24.07.09
Prihlásený: 21.11.17
Príspevky: 9
Témy: 6 | 6

Zdravím,

Potreboval by som poradiť, našiel som tento script pre konverziu XML do CSV. Všetko funguje super, až na jednu vec.

Pri prevode z XML do CSV nastáva chyba ak sa konvertuje napr hodnota "01001" do CSV -> Tak v CSV chýba nula na začiatku = "10001".

Viete prosím niekto poradiť čo s tým? Zasielam php:
Kód:
<?php
    // In this case XML is
    // <orders>
    //  <order>...</order>
    //  <order>...</order>
    // </orders>
$string='sps.xml';

  if($xml = simplexml_load_file($string)){
   
    $file = fopen('sps.csv', 'w');
    if($row = get_object_vars($xml->order[0])){ // First order
      // First row contains column header values
      foreach($row as $key => $value){
        $header[] = $key;
      }
      fputcsv($file, $header,';','"');
      foreach ($xml->order as $order) {
        fputcsv($file, get_object_vars($order),';','"');
      }
      rewind($file);
      $output = stream_get_contents($file);
      fclose($file);
      return $output;
    }else{
      return '';
    }
  }
?>


Vzor XML:
Kód:
<?xml version="1.0" encoding="utf-8"?>
         
            <orders>
                  <order>
                        <pocet_balikov>1</pocet_balikov>
                        <kontaktna_osoba>Tereza XXXX</kontaktna_osoba>
                        <adresa>Ulica 58</adresa>
                        <firma></firma>
                        <psc>01001</psc>
                        <mesto>Žilina</mesto>
                        <krajina>SK</krajina>
                        <telefon>+4219123123123</telefon>
                        <email>mail@seznam.cz</email>
                        <notifikacia>3</notifikacia>
                        <var_symbol>10201700000</var_symbol>
                        <cena_dobierky>54.160000</cena_dobierky>                                               
                  </order>
               </orders>


Ďakujem


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3

Napíš si vlastnú verziu funkcie get_object_vars, ktorá každú hodnotu vezme ako string bez zmeny. phpková verzia totiž nerobí nič naviac, takže všetko pretypuje implicitne - čiže 001 pretypuje na číslo 1.


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 24.07.09
Prihlásený: 21.11.17
Príspevky: 9
Témy: 6 | 6
Napísal autor témyOffline : 21.11.2017 14:04 | Php Script: XML -> CSV (Problém s 0 na začiatku)

Díky za nasmerovanie. Ak by sa našiel niekto kto by mi to vedel napísať bol by som vďačný. Ako som písal, kód je dostupný z netu, takže php skúsenosti žiaľ nemám :)


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3

Tak som si to vyskúšal a napísal som blbosť, get_object_vars by malo fungovať správne. Potom je skôr problém v tom xml readri.
Skús spustiť toto a napíš, čo to vypísalo
Kód:
<?php
    // In this case XML is
    // <orders>
    //  <order>...</order>
    //  <order>...</order>
    // </orders>
$string='sps.xml';

  if($xml = simplexml_load_file($string)){
   
    $file = fopen('sps.csv', 'w');
var_dump(['XML ORDER', $xml->order[0]]);
    if($row = get_object_vars($xml->order[0])){ // First order
var_dump(['ROW', $row]);
      // First row contains column header values
      foreach($row as $key => $value){
        $header[] = $key;
      }
      fputcsv($file, $header,';','"');
      foreach ($xml->order as $order) {
        fputcsv($file, get_object_vars($order),';','"');
      }
      rewind($file);
      $output = stream_get_contents($file);
      fclose($file);
      return $output;
    }else{
      return '';
    }
  }
?>


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 24.07.09
Prihlásený: 21.11.17
Príspevky: 9
Témy: 6 | 6
Napísal autor témyOffline : 21.11.2017 17:21 | Php Script: XML -> CSV (Problém s 0 na začiatku)

Ďakujem za ochotu, výsledok bez zmeny, výstup je stále rovnaký všetky nuly to dáva preč. Ale vyriešim to inak, nebudem sa trápiť, mám script na export do XML, upravím si len výstupné dáta do txt podoby, a uložím ako txt alebo csv a je to vybavené :). Takto som to robil zbytočne tak že som robil XML a z XML som robil prevod do CSV... Ďakujem


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3

Chcel som ja vidieť, čo to vypíše, pridal som tam len testovacie výpisy. Ale súhlasím, urob to ako vieš, zbytočne sa netráp s php, ktorému nerozumieš. Nájdi si pripadne nejaký hotový program, alebo použi nejakú online službu.


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
 [ Príspevkov: 6 ] 


Php Script: XML -> CSV (Problém s 0 na začiatku)



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

PHP -> XML

v PHP, ASP

3

623

01.05.2010 8:47

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

prevod xml do csv

v HTML, XHTML, XML, CSS

1

1144

29.03.2008 20:55

Triminka

V tomto fóre nie sú ďalšie neprečítané témy.

XML Schema => XML instance document

v HTML, XHTML, XML, CSS

0

733

02.11.2009 17:46

sINN3r

V tomto fóre nie sú ďalšie neprečítané témy.

PHP a XML (problem)

v PHP, ASP

3

286

08.12.2012 21:06

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

PHP: Kodovanie pri vytvarani .csv

v PHP, ASP

2

610

22.08.2011 10:36

camo

V tomto fóre nie sú ďalšie neprečítané témy.

php ->mysql ->php Help.zoradit

v PHP, ASP

4

612

20.06.2009 12:44

KViki

V tomto fóre nie sú ďalšie neprečítané témy.

PHP a XML

v PHP, ASP

3

387

26.12.2012 18:32

shaggy

V tomto fóre nie sú ďalšie neprečítané témy.

PHP a XML

v PHP, ASP

1

924

27.03.2007 19:16

qacer

V tomto fóre nie sú ďalšie neprečítané témy.

XML v PHP

v PHP, ASP

4

459

29.09.2010 20:36

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

PHP generovanie XML

v PHP, ASP

4

846

12.04.2011 14:22

general667

V tomto fóre nie sú ďalšie neprečítané témy.

php a XML

[ Choď na stránku:Choď na stránku: 1, 2 ]

v PHP, ASP

32

2159

19.09.2008 15:02

max-m

V tomto fóre nie sú ďalšie neprečítané témy.

$pcforum->getForumActivity('PHP, ASP', 2012)/$pcforum->getForumActivity('PHP, ASP', 2022) - Warning: Division by zero

v PHP, ASP

4

2312

20.05.2022 13:51

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

php v xml súbore

v PHP, ASP

2

316

28.04.2013 22:26

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

PHP webservice XML-RPC

v PHP, ASP

6

390

28.04.2013 22:59

shaggy

V tomto fóre nie sú ďalšie neprečítané témy.

XML v PHP - chyba

v PHP, ASP

2

727

26.03.2010 15:25

d0.0b

V tomto fóre nie sú ďalšie neprečítané témy.

PHP login script

v PHP, ASP

7

3413

08.02.2010 8:42

juho



© 2005 - 2024 PCforum, edited by JanoF