Autor | Zpráva | ||
---|---|---|---|
Lukassy Profil * |
#1 · Zasláno: 6. 10. 2009, 13:23:40
Zdravim
Mam tento XML soubor a potreboval bych ho zpracovat v PHP: <?xml version="1.0" encoding="UTF-8" ?> <prvky> <prvek id="45"> <bod id="03."> <![CDATA[ <h3 class="nazev">03. Pojmenování (název) životní situace</h3> <div class="popis"> Vydání občanského průkazu</div>]]> </bod> </prvek> </prvky> Pouzil jsem zde na diskuzi vymyslene reseni, ale nevypisuje to tak jak ma. A to je nadpis "03. Pojmenování (název) životní situace" a pod tim "Vydání občanského průkazu" Zde je ten kod: <?php $soubor = 'xml.xml'; $heading = Array(); $para = Array(); $lastOpened = ''; function startTag($parser, $name, $attribs) { global $lastOpened; $lastOpened = $name; } function endTag($parser, $name) { } function characterData($parser, $data) { global $lastOpened,$prvky,$prvek,$bod; if (strlen(trim($data))) { switch ($lastOpened) { case 'prvky': $prvky[] = $data; break; case 'prvek': $prvek[] = $data; echo $prvek[0]; break; default: // nezájem break; } } } // 1. vytvořim parser $parser = xml_parser_create(); xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,false); // 2. zaregistruju handlery xml_set_element_handler($parser,'startTag', 'endTag'); xml_set_character_data_handler($parser,'characterData'); // 3. parsuju xml_parse($parser, file_get_contents($soubor), true); xml_parser_free($parser); print_r($prvek); foreach($prvky as $value) echo "<h2>".$value."</h2>"; foreach($prvek as $value) echo "<p>".$value."</p>"; ?> Byl bych Vam moc vdecny za pomoc. Diky |
||
Joker Profil |
#2 · Zasláno: 6. 10. 2009, 13:42:37
Lukassy:
„nevypisuje to tak jak ma“ Vyčerpávající popis problému. A co to teda vypíše? |
||
Lukassy Profil * |
#3 · Zasláno: 6. 10. 2009, 13:58:05
Chybove hlasky:
Warning: Invalid argument supplied for foreach() in C:\dev\www\xml2\zpracuj_xml.php on line 53 Warning: Invalid argument supplied for foreach() in C:\dev\www\xml2\zpracuj_xml.php on line 56 A neslo by to udelat nejak jednoduseji viz podobny dotaz Odkaz? |
||
Lukassy Profil * |
#4 · Zasláno: 6. 10. 2009, 14:01:27
Potreboval bych vycucavat informace z XML dokumentu, ktery ma strukturu jakou jsem napsal v prvnim prispevku. Ten XML dokument bude na webu a prubezne se bude aktualizovat a ja bych potreboval tyto informace ukladat do databaze a pote zobrazovat. Do databaze to jiz ulozim, ale mam problem dostat tyto udaje z XML do promennych v php.
|
||
Lukassy Profil * |
#5 · Zasláno: 6. 10. 2009, 19:48:37
Slo by to takto jednoduse?
<?php $xml=simplexml_load_file('xml.xml'); foreach($xml->prvek->bod as $bod){ echo $bod; } ?> |
||
Radek9 Profil |
#6 · Zasláno: 6. 10. 2009, 19:50:59
Lukassy:
Co ti brání to vyzkoušet? |
||
Lukassy Profil * |
#7 · Zasláno: 6. 10. 2009, 20:46:15
Tak vyzkouseno to mam, ale zarazi me kratkost tohoto kodu oproti tomu vyse, pritom podle me dela totez.
|
||
Loric Profil |
#8 · Zasláno: 6. 10. 2009, 20:57:18
proto je to simplexml :D
|
||
Lukassy Profil * |
#9 · Zasláno: 6. 10. 2009, 21:01:42
Jeste bych se zeptal na toto. jak z naparsovaneho xml dokumentu, ve kterem je odkaz ve tvaru /ostatni/kod=00676 udelam klasicky odkaz? Potreboval bych k nemu pridat zacatek http://www....., aby to pak spravne odkazovalo. Diky
|
||
Časová prodleva: 15 let
|
0