Zadejte hledaný výraz...

Transformace pole v XML

Luděk Kvapil
verified
rating uzivatele
23. 10. 2015 14:57:48
Mám XML feed, který potřebuju upravit a zase nahrát do jiného souboru. Většina věcí jde udělat pouhým nahrazením, ale pak tam mám pole pro cenu, které jen tak nahradit nejde.
Cena se zobrazuje bez desetinných míst, ale je na dvě desetinná místa. Takže musím od konce odpočítat dvě místa a šoupnout tam tečku a výsledné číslo následně zaokrouhlit na celé. A to v XML feedu, kde těch položek je více, takže nemůžu použít pozici pole v [], ale udělat to prostě pro všechny.
názorná ukázka: tohle mám
a tohle chci
Už jsem trochu experimentoval se simpleXML, ale tam se teda zadává to konkrétní pole a netuším, jak to udělat pro všechny.
23. 10. 2015 14:57:48
https://webtrh.cz/diskuse/transformace-pole-v-xml/#reply1148245
Martin
verified
rating uzivatele
(62 hodnocení)
23. 10. 2015 15:21:56
Nevím, zda to dobře chápu, ale já bych šel cestou přes SimpleXML to načíst. Pokud je to malý XML tak stačí do pole. Pokud velký, tak do DB. A pak to taky pomocí SimpleXML vygeneroval znovu s potřebnými změnami.
23. 10. 2015 15:21:56
https://webtrh.cz/diskuse/transformace-pole-v-xml/#reply1148244
Jiří
verified
rating uzivatele
(1 hodnocení)
23. 10. 2015 15:34:46
Také by mi přišlo logické to řešit načtením původního xml a vygenerováním nového, s tím že při generování se provedou požadované úpravy na potřebných polích. Nahrazování jednotlivých hodnot v hotovém feedu možná je, ale přijde mi, že s tím bude víc práce než s výše navrženým řešením (resp. princip je stejný, ale způsob provedení složitější).
23. 10. 2015 15:34:46
https://webtrh.cz/diskuse/transformace-pole-v-xml/#reply1148243
Luděk Kvapil
verified
rating uzivatele
23. 10. 2015 16:43:02
Napsal Spocklw;1235306
Také by mi přišlo logické to řešit načtením původního xml a vygenerováním nového, s tím že při generování se provedou požadované úpravy na potřebných polích. Nahrazování jednotlivých hodnot v hotovém feedu možná je, ale přijde mi, že s tím bude víc práce než s výše navrženým řešením (resp. princip je stejný, ale způsob provedení složitější).
No tak jsem to také dělal, ale nevím, jak mám nahradit ty částky, když je pokaždé jiná a navíc je musím zaokrouhlouvat.
23. 10. 2015 16:43:02
https://webtrh.cz/diskuse/transformace-pole-v-xml/#reply1148242
Martin
verified
rating uzivatele
(62 hodnocení)
23. 10. 2015 17:00:27
Třeba nějak takhle
$puvodniCislo = "1099884";
$celeCislo = substr($puvodniCislo, 0, -2);
$desetivnnaCast = substr($puvodniCislo,-2,2);
$noveCislo = $celeCislo . "." . $desetivnnaCast;
$zaokrouhleneCeleCislo = round($noveCislo);
23. 10. 2015 17:00:27
https://webtrh.cz/diskuse/transformace-pole-v-xml/#reply1148241
Martin
verified
rating uzivatele
(62 hodnocení)
23. 10. 2015 17:01:31
Třeba nějak takhle
23. 10. 2015 17:01:31
https://webtrh.cz/diskuse/transformace-pole-v-xml/#reply1148240
MatesM
verified
rating uzivatele
23. 10. 2015 17:35:05
Nebo můžeš možná i docela jednoduše udělat něco takového
$puvodniCislo = 1099884;
$vypocitaneCislo = round( $puvodniCislo / 100 );
23. 10. 2015 17:35:05
https://webtrh.cz/diskuse/transformace-pole-v-xml/#reply1148239
Pro odpověď se přihlašte.
Přihlásit