Autor Zpráva
popkorn
Profil *
Ahoj,

potřeboval bych poradit s výpisem XML v php, trápím se s tím už několik hodin a nemůžu na to přijít.
mám číselník v této podobě:

<?php
$xmlstr = <<<XML
<?xml version="1.0" encoding="windows-1250"?>
<schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<ciselnik>
<jmeno>znacka_model</jmeno>
<skupina>
<popis>Osobní</popis><kod>A</kod><kategorie>NOV</kategorie>
<znacka>
<popis>Acura</popis><kod>CJ</kod><kategorie>NO</kategorie>
<seznam_modelu>
<popis>CL</popis><kod>CJA</kod><kategorie>O</kategorie>
<popis>EL</popis><kod>CJB</kod><kategorie>O</kategorie>
<popis>Integra</popis><kod>CJD</kod><kategorie>O</kategorie>
</seznam_modelu>
</znacka>
<znacka>
<popis>Alfa Romeo</popis><kod>AA</kod><kategorie>NOV</kategorie>
<seznam_modelu>
<popis>145</popis><kod>AAC</kod><kategorie>O</kategorie>
<popis>146</popis><kod>AAA</kod><kategorie>O</kategorie>
<popis>147</popis><kod>AAK</kod><kategorie>NO</kategorie>
</seznam_modelu>
</znacka>
</skupina>
</ciselnik>
</schema>
XML;
?>

a potřeboval bych vypsat seznam v podobě seznam značek a k nim seznam modelů vozů.
Kcko
Profil
<?php
//header("content-type: text/xml");

$xmlstr = <<<XML
<?xml version="1.0" encoding="windows-1250"?>
<schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<ciselnik>
<jmeno>znacka_model</jmeno>
<skupina>
<popis>Osobní</popis><kod>A</kod><kategorie>NOV</kategorie>
<znacka>
<popis>Acura</popis><kod>CJ</kod><kategorie>NO</kategorie>
<seznam_modelu>
<popis>CL</popis><kod>CJA</kod><kategorie>O</kategorie>
<popis>EL</popis><kod>CJB</kod><kategorie>O</kategorie>
<popis>Integra</popis><kod>CJD</kod><kategorie>O</kategorie>
</seznam_modelu>
</znacka>
<znacka>
<popis>Alfa Romeo</popis><kod>AA</kod><kategorie>NOV</kategorie>
<seznam_modelu>
<popis>145</popis><kod>AAC</kod><kategorie>O</kategorie>
<popis>146</popis><kod>AAA</kod><kategorie>O</kategorie>
<popis>147</popis><kod>AAK</kod><kategorie>NO</kategorie>
</seznam_modelu>
</znacka>
</skupina>
</ciselnik>
</schema>
XML;

$xml = new SimpleXMLElement($xmlstr);
//echo $xml->asXML();


foreach ($xml->ciselnik->skupina->znacka as $a)
{
	echo '<b>' . $a->popis . '</b> <br />';
	foreach ($a->children() as $b => $c)
	{
		if ($b == 'seznam_modelu')
		{
			echo ' + ' . $c->popis . '<br />';	
		}
	}

}


?>




PS. ********** XMl strom sem dlouho nevidel
popkorn
Profil *
díky za radu, ovšem stále jeden problém. skript vypisuje vždy jen první hodnotu, takže konečný výpis vypadá takhle:

Acura
+ CL
Alfa Romeo
+ 145
Kcko
Profil
No tak to si snad doplnis sam ne?

$c-> a sem doplnis nazev elementu ...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: