Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Ondřej Pech
Člen
Avatar
Ondřej Pech:27.1.2017 15:08

Ahoj, dělám si takovou malou vlastní appku v PHPčku a najednou mě to dohnalo až k parsování XML, což sem nikdy nedělal. Našel jsem nějaké příklady na internetu a snažil se je aplikovat. dopadlo to tak, že mám nějaký kód, který sice nepíše žádnou chybu ale nic nevypíše. Prosím vás, kde mám chybu?

XML:

<AccountStatement>
                <Info>
                        <accountId>xxx</accountId>
                        <bankId>xxx</bankId>
                        <currency>xxx</currency>
                        <iban>xxx</iban>
                        <bic>xxx</bic>
                        <openingBalance>xxx</openingBalance>
                        <closingBalance>xxx</closingBalance>
                        <dateStart>2017-01-01+01:00</dateStart>
                        <dateEnd>2017-01-27+01:00</dateEnd>
                        <idFrom>xxx</idFrom>
                        <idTo>xxx</idTo>
                </Info>
        <TransactionList>
                <Transaction>
                        <column_22 name="ID pohybu" id="22">xxx</column_22>
                        <column_0 name="Datum" id="0">xxx</column_0>
                        <column_1 name="Objem" id="1">xxx</column_1>
                        <column_14 name="Měna" id="14">CZK</column_14>
                        <column_2 name="Protiúčet" id="2">xxx</column_2>
                        <column_3 name="Kód banky" id="3">xxx</column_3>
                        <column_12 name="Název banky" id="12">Fio banka, a.s.</column_12>
                        <column_7 name="Uživatelská identifikace" id="7">xxx</column_7>
                        <column_16 name="Zpráva pro příjemce" id="16">xxx</column_16>
                        <column_8 name="Typ" id="8">xxx</column_8>
                        <column_9 name="Provedl" id="9">xxx</column_9>
                        <column_25 name="Komentář" id="25">xxx</column_25>
                        <column_17 name="ID pokynu" id="17">xxx</column_17>
                </Transaction>
                <Transaction>
                        ...
                </Transaction>

A snažím se vypsat měnu jednotlivích transakcí pomocí PHP:

<?php
        // specify url of xml file
        $url = "http://api.nějakýweb.cz/transakce.xml";
        // get xml file contents
        $xml = simplexml_load_file($url);

        // loop begins
        foreach($xml->Transaction as $Transaction)
        {
        // begin new paragraph
        echo "<p>";
        // show title
        echo "<strong>Měna:</strong> ".$Transaction->column_14."<br/>";
        echo "</p>";
        // end paragraph
        }
        // loop ends

?>

Prosím o radu, co dělám špatně, jsem ztracen. Jinak se jedná o API FIO Banky

 
Odpovědět
27.1.2017 15:08
Avatar
Ondřej Langr (andysekcze):27.1.2017 15:57

Já na to použil json_encode a decode funkce. Až se dostanu k PC, pošlu kód.

Nahoru Odpovědět
27.1.2017 15:57
I have a charger. I have Note 7. Umh I haven't Note7.
Avatar
Ondřej Langr (andysekcze):27.1.2017 17:29
$xml = json_decode(json_encode((array)simplexml_load_file('cesta k .xml')),1);

a vznikne ti asociativní pole :) Pomocí funkce

var_dump($xml);

se můžeš podívat, jak to pole vypadá :) Pokud jsou moje popisy či metody nepřesné nebo úplně špatné, tak mě prosím opravte :)

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
27.1.2017 17:29
I have a charger. I have Note 7. Umh I haven't Note7.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.