Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ 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
Príspevok NapísalOffline : 21.11.2017 12:58

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
Príspevok NapísalOffline : 21.11.2017 13:55

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
Príspevok Napísal autor témyOffline : 21.11.2017 14:04

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
Príspevok NapísalOffline : 21.11.2017 16:17

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
Príspevok Napísal autor témyOffline : 21.11.2017 17:21

Ď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
Príspevok NapísalOffline : 21.11.2017 19:56

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!
Odpovedať na tému [ Príspevkov: 6 ] 


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

620

01.05.2010 8:47

stenley Zobrazenie posledných príspevkov

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

v HTML, XHTML, XML, CSS

1

1142

29.03.2008 20:55

Triminka Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. XML Schema => XML instance document

v HTML, XHTML, XML, CSS

0

731

02.11.2009 17:46

sINN3r Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP a XML (problem)

v PHP, ASP

3

285

08.12.2012 21:06

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP: Kodovanie pri vytvarani .csv

v PHP, ASP

2

609

22.08.2011 10:36

camo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. php ->mysql ->php Help.zoradit

v PHP, ASP

4

589

20.06.2009 12:44

KViki Zobrazenie posledných príspevkov

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

v PHP, ASP

1

921

27.03.2007 19:16

qacer Zobrazenie posledných príspevkov

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

v PHP, ASP

4

458

29.09.2010 20:36

stenley Zobrazenie posledných príspevkov

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

v PHP, ASP

4

845

12.04.2011 14:22

general667 Zobrazenie posledných príspevkov

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

2156

19.09.2008 15:02

max-m Zobrazenie posledných príspevkov

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

v PHP, ASP

3

382

26.12.2012 18:32

shaggy Zobrazenie posledných príspevkov

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

2288

20.05.2022 13:51

JanoF Zobrazenie posledných príspevkov

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

v PHP, ASP

6

386

28.04.2013 22:59

shaggy Zobrazenie posledných príspevkov

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

v PHP, ASP

2

725

26.03.2010 15:25

d0.0b Zobrazenie posledných príspevkov

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

v PHP, ASP

2

314

28.04.2013 22:26

Ďuri Zobrazenie posledných príspevkov

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 Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra