Autor | Zpráva | ||
---|---|---|---|
jamal Profil * |
#1 · Zasláno: 31. 3. 2009, 13:37:02
Dobry, mam xml soubor se seznamem produktu a jejich parametru a potřebuju aby když při projíždení souboru narazím na
<produkt id="42"> <nazev>Zeměkoule</nazev> </produkt> aby mi to id a nazev ulozilo do promenne treba $id a $nazev ktere potom vlozim do databaze Diky za pomoc |
||
Majkl578 Profil |
#2 · Zasláno: 31. 3. 2009, 14:11:00
na praci s xml slouzi trida simplexml
|
||
jamal Profil * |
#3 · Zasláno: 31. 3. 2009, 14:28:58
dik za radu ale neslo by to pres parsovani atd.?
|
||
Mike8748 Profil |
#4 · Zasláno: 31. 3. 2009, 14:37:16
jamal
parsovani je velice obecny termin, tak upresni co tim myslis. pripadne i ukazku stavajiciho kodu |
||
jamal Profil * |
#5 · Zasláno: 31. 3. 2009, 16:42:56
je mi celkem jedno jak to bude bude fungovat ale hlavne at to jede.
zkoušel jsem tenhle script a celkem jede akorat potrebuju vytahnout ty atributy id a obsah tagu <nazev> <?php $nas_soubor=seznam.xml"; function PocatecniZnacka ($parser, $nazev, $atributy) { echo "Narazil jsem při čtení na značku $nazev s atributy:"."<BR>"; echo print_r($atributy)."<BR>"; } function KoncovaZnacka ($parser, $nazev) { $nas_parser=xml_parser_create(); xml_set_element_handler ($nas_parser, "PocatecniZnacka", "KoncovaZnacka"); if (!($obsahsouboru = fopen($nas_soubor, "r"))) die("Nemohu otevřít XML pro čtení."); while ($data = fread($obsahsouboru, 5)) xml_parse($nas_parser, $data, feof($obsahsouboru)); xml_parser_free($nas_parser); ?> |
||
skybedy Profil |
#6 · Zasláno: 2. 4. 2009, 08:23:42
Například takhle:
<?php $xml = simplexml_load_file('example.xml'); foreach($xml->produkt as $produkt){ echo $produkt['id']; echo $produkt->nazev; } ?> Předpokládá to ještě existenci kořenového elementu nad <produkt></produkt>. |
||
jamal Profil * |
#7 · Zasláno: 2. 4. 2009, 12:04:23
díky za pomoc,jestli bych vás ještě mohl poprosit jestli to nejde bez simple xml,protože to musím rozběhnout v php4 a tam mi to háže, chybu že se volá nedefinovana funkce
dik |
||
skybedy Profil |
#8 · Zasláno: 2. 4. 2009, 16:00:02
No tak samozřejmě, funkce SimpleXML přibyly až v pětce. Já ale klasické parsery nepoužívám, takže jedině něco nagooglit.
|
||
Majkl578 Profil |
#9 · Zasláno: 2. 4. 2009, 17:25:37
$text = <<< EEE <produkt id="42"> <nazev>Zeměkoule</nazev> </produkt> <produkt id="5"> <nazev>blbost</nazev> </produkt> <produkt id="37"> <nazev>ptakovina</nazev> </produkt> EEE; preg_match_all('#<produkt id="([0-9]+)">\n<nazev>(.+)<\/nazev>\n</produkt>#i', $text, $matches, PREG_SET_ORDER); print_r($matches); |
||
Časová prodleva: 15 let
|
0