| 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: 16 let
|
|||
0