Wyciągnięcie z pliku xml potrzebnych informacji.

Odpowiedz Nowy wątek
2014-05-26 19:33
0

Witam, mam plik xml z którego muszę wypisać do innego pliku, nawet .txt id produktu oraz jego nazwę niemiecką.
Kod wygląda tak. Produktów jest kilkaset, a ja potrzebuję tylko id i nazwę, jest ktoś w stanie nakierować jak się za to zabrać ?
z góry dzięki.

<product product_id = "15409">
            <name><![CDATA[EMAMODA SUKIENKA - CZARNY - BIAŁY 5705-8]]></name>
            <name_en><![CDATA[EMAMODA DRESS - BLACK - WHITE 5705-8]]></name_en>
            <name_de><![CDATA[EMAMODA DRESS - SCHWARZ - WEISS 5705-8]]></name_de>
                        <name_ru><![CDATA[EMAMODA ПЛАТЬЕ - черный - белый 5705-8]]></name_ru>

Pozostało 580 znaków

2014-05-26 19:48
0

Google: parse XML PHP, być może sprawdzi się tu biblioteka phpQuery (pewności nie mam, używałem tego do parsowania HTML, ale chyba miało też XML z CDATA).

Bez znajomości chociaż podstaw logiki php będzie ciężko


Pozostało 580 znaków

2014-05-26 21:04
0

Hmm ... a jakieś inne pomysły ? Lub może jakiś przykład na którym było by się można wzorować ?

edytowany 1x, ostatnio: abbxl, 2014-05-26 21:05

Pozostało 580 znaków

2014-05-26 21:05
0

inne niż dobre pomysły?

złych rad nie udzielam, sorry


Pozostało 580 znaków

2014-05-26 21:06
0

Nie napisałem że są złe. Tylko interesuję mnie jeszcze inne rozwiązania.

Pozostało 580 znaków

2014-05-26 21:47
0

DOMDocument i getElementsByTagName() powinno wystarczyć. Jeżeli nie zabraknie pamięci ;-)

Pozostało 580 znaków

2014-05-27 12:13
0

Tutaj mam prawie ten sam przykład. http://www.php.net/manual/en/simplexml.examples-basic.php Ale mimo to coś nie wychodzi mi nawet wyciągnięcie samego ID.

edytowany 1x, ostatnio: abbxl, 2014-05-27 12:13

Pozostało 580 znaków

2014-05-27 12:55
0

to może pokaż kod?


Pozostało 580 znaków

2014-05-27 13:44
0

Tutaj jest fragmen xmla od początku do 1 produktu.

Myślałem że takie coś może wystarczy ale coś nic się pojawić nie chce.

<?php
$xml = simplexml_load_file("yournewstyle.xml");

foreach($xml->root->products->product as $v){

    echo $v['product_id'];
    }

?>
<?xml version="1.0" encoding="utf-8"?>
<root targetNamespace="http://yournewstyle.pl">
    <date>2014-05-26 03:02:30</date>
    <categories>
        <category category_id = "1">
            <parent>0</parent>
            <name><![CDATA[Damskie]]></name>
        </category>
        <category category_id = "2">
            <parent>0</parent>
            <name><![CDATA[Męskie]]></name>
        </category>
        <category category_id = "3">
            <parent>0</parent>
            <name><![CDATA[Dodatki]]></name>
        </category>
        <category category_id = "33">
            <parent>2</parent>
            <name><![CDATA[Koszule]]></name>
        </category>
        <category category_id = "12">
            <parent>1</parent>
            <name><![CDATA[Kurtki i Płaszcze]]></name>
        </category>
        <category category_id = "34">
            <parent>2</parent>
            <name><![CDATA[Bluzki]]></name>
        </category>
        <category category_id = "13">
            <parent>1</parent>
            <name><![CDATA[Spodnie i spodenki]]></name>
        </category>
        <category category_id = "51">
            <parent>2</parent>
            <name><![CDATA[Długi rękaw]]></name>
        </category>
        <category category_id = "15">
            <parent>1</parent>
            <name><![CDATA[Sukienki ]]></name>
        </category>
        <category category_id = "52">
            <parent>2</parent>
            <name><![CDATA[Spodnie, spodenki]]></name>
        </category>
        <category category_id = "16">
            <parent>1</parent>
            <name><![CDATA[Swetry]]></name>
        </category>
        <category category_id = "55">
            <parent>2</parent>
            <name><![CDATA[Swetry]]></name>
        </category>
        <category category_id = "17">
            <parent>1</parent>
            <name><![CDATA[Topy]]></name>
        </category>
        <category category_id = "50">
            <parent>3</parent>
            <name><![CDATA[Szale]]></name>
        </category>
        <category category_id = "18">
            <parent>1</parent>
            <name><![CDATA[Tuniki]]></name>
        </category>
        <category category_id = "19">
            <parent>1</parent>
            <name><![CDATA[Obuwie]]></name>
        </category>
        <category category_id = "20">
            <parent>1</parent>
            <name><![CDATA[Komplety]]></name>
        </category>
        <category category_id = "23">
            <parent>1</parent>
            <name><![CDATA[Spódniczki]]></name>
        </category>
        <category category_id = "24">
            <parent>1</parent>
            <name><![CDATA[Koszule]]></name>
        </category>
        <category category_id = "27">
            <parent>1</parent>
            <name><![CDATA[Bluzki]]></name>
        </category>
        <category category_id = "28">
            <parent>1</parent>
            <name><![CDATA[Dodatki]]></name>
        </category>
        <category category_id = "30">
            <parent>1</parent>
            <name><![CDATA[Stroje kąpielowe]]></name>
        </category>
        <category category_id = "35">
            <parent>1</parent>
            <name><![CDATA[Marynarki i żakiety]]></name>
        </category>
    </categories>
    <products>
        <product product_id = "15409">
            <name><![CDATA[EMAMODA SUKIENKA - CZARNY - BIAŁY 5705-8]]></name>
            <name_en><![CDATA[EMAMODA DRESS - BLACK - WHITE 5705-8]]></name_en>
            <name_de><![CDATA[EMAMODA DRESS - SCHWARZ - WEISS 5705-8]]></name_de>
                        <name_ru><![CDATA[EMAMODA ПЛАТЬЕ - черный - белый 5705-8]]></name_ru>
            <description><![CDATA[Szyfonowa sukienka z koronką<br /><p>
    <img alt="" src="http://www.yournewstyle.pl/grafika/wymiary/emamoda2.gif" /></p><br /><iframe width="400" frameborder="no" src="http://www.youtube.com/embed/yH4UPXFsu-Y?rel=1&amp;autoplay=1"></iframe>]]></description>
            <description_en><![CDATA[Chiffon dress with lace<br /><p>
    <img alt="" src="http://www.yournewstyle.pl/grafika/wymiary/emamoda2.gif" /></p><br /><iframe width="400" frameborder="no" src="http://www.youtube.com/embed/yH4UPXFsu-Y?rel=1&amp;autoplay=1"></iframe>]]></description_en>
            <description_de><![CDATA[Chiffon-Kleid mit Spitze<br /><p>
    <img alt="" src="http://www.yournewstyle.pl/grafika/wymiary/emamoda2.gif" /></p><br /><iframe width="400" frameborder="no" src="http://www.youtube.com/embed/yH4UPXFsu-Y?rel=1&amp;autoplay=1"></iframe>]]></description_de>
                        <description_ru><![CDATA[Шифон платье с кружевом<br /><p>
    <img alt="" src="http://www.yournewstyle.pl/grafika/wymiary/emamoda2.gif" /></p><br /><iframe width="400" frameborder="no" src="http://www.youtube.com/embed/yH4UPXFsu-Y?rel=1&amp;autoplay=1"></iframe>]]></description_ru>

5705-8

<producer_code>Y593</producer_code>
        <type>f</type>
        <producer><![CDATA[Emamoda]]></producer>
        <photos>
                        <photo>http://yournewstyle.pl/files/clothes/big/b93c898bbb07f29b19eca41ea7e0fbf1.jpg</photo>
            <photo>http://yournewstyle.pl/files/clothes/big/cf77f3e0c0595f243e52cb1838c5769f.jpg</photo>

            <photo>http://yournewstyle.pl/files/clothes/big/64c2c591dc85e668f64dd5a34cf1d6ab.jpg</photo>

            <photo>http://yournewstyle.pl/files/clothes/big/d3e5a098e1e3fcc2e2cf2c3f5bb02c2c.jpg</photo>

        </photos>
        <category_id>15</category_id>
        <category_id2>0</category_id2>
        <add_date>2014-05-05 08:39:42</add_date>
        <price_netto>61.40</price_netto>
        <sale>0</sale>
        <sale_price_netto>0.00</sale_price_netto>
        <fillup>0</fillup>
        <sizes>
            <size name="S" count="1" />
            <size name="M" count="4" />
            <size name="L" count="3" />
        </sizes>
                    <color><![CDATA[CZARNY - BIAŁY]]></color>
                    <color_en><![CDATA[BLACK - WHITE]]></color_en>
        <color_de><![CDATA[SCHWARZ - WEISS]]></color_de>
                    <color_ru><![CDATA[BLACK - WHITE]]></color_ru>
                    <cloth><![CDATA[100% poliester]]></cloth>
                    <cloth_en><![CDATA[100% poliester]]></cloth_en>
        <cloth_de><![CDATA[100% poliester]]></cloth_de>
                    <cloth_ru><![CDATA[100% poliester]]></cloth_ru>
                    <price_netto_eur>15.24</price_netto_eur>

    </product> 
edytowany 2x, ostatnio: abbxl, 2014-05-27 13:46

Pozostało 580 znaków

2014-05-27 14:32
$xml = simplexml_load_file("yournewstyle.xml");
var_dump($xml);

Warning: simplexml_load_file() [function.simplexml-load-file]: yournewstyle.xml:148: parser error : Opening and ending tag mismatch: code line 112 and product in C:\htdocs\info.php on line 3

Warning: simplexml_load_file() [function.simplexml-load-file]: </product> in C:\htdocs\info.php on line 3

Warning: simplexml_load_file() [function.simplexml-load-file]: ^ in C:\htdocs\info.php on line 3

Warning: simplexml_load_file() [function.simplexml-load-file]: yournewstyle.xml:148: parser error : Premature end of data in tag product line 99 in C:\htdocs\info.php on line 3

Warning: simplexml_load_file() [function.simplexml-load-file]: </product> in C:\htdocs\info.php on line 3

Warning: simplexml_load_file() [function.simplexml-load-file]: ^ in C:\htdocs\info.php on line 3

Warning: simplexml_load_file() [function.simplexml-load-file]: yournewstyle.xml:148: parser error : Premature end of data in tag products line 98 in C:\htdocs\info.php on line 3

Warning: simplexml_load_file() [function.simplexml-load-file]: </product> in C:\htdocs\info.php on line 3

Warning: simplexml_load_file() [function.simplexml-load-file]: ^ in C:\htdocs\info.php on line 3

Warning: simplexml_load_file() [function.simplexml-load-file]: yournewstyle.xml:148: parser error : Premature end of data in tag root line 2 in C:\htdocs\info.php on line 3

Warning: simplexml_load_file() [function.simplexml-load-file]: </product> in C:\htdocs\info.php on line 3

Warning: simplexml_load_file() [function.simplexml-load-file]: ^ in C:\htdocs\info.php on line 3

bool(false)

edit: znajdź coś co poradzi sobie z nieprawidłowym XML-em (phpQuery? nie marudź tylko próbuj)


edytowany 1x, ostatnio: dzek69, 2014-05-27 14:32

Pozostało 580 znaków

2014-05-27 18:25
0

Widzę to co wstawiłeś to błędy tylko w 3 linii.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0