Zadejte hledaný výraz...

Načtení XML

eduard.babka
verified
rating uzivatele
26. 10. 2011 13:53:58
Zdravím, prosím, poraďte s dotazem. Dostal jsem za úkol napsat jednoduchou alikaci v PHP a nikdy jsem v něm nedělal. Zabývám se programováním v C#.
Že je to jiné jsem čekal, že se nemohu v průběhu ladění kouknout do debugu jsem chtěl překousnout, ale už nevím, jak dál.
Potřebuji načíst XML, které mám v adresáři. Pojmenované zkouska.xml na webu jsem našel, že je pro to vhodná knihovna SimpleXML.
Ukázka XML:
3
4
5
Načtení XML:
$xml = simplexml_load_file('zkouska.xml');
Bohužel mi pokaždé zobrazí prázdnou stránku - i když soubor vymažu, což je mi záhadou. Hosting mám na www.php5.cz
Pokud se mi podaří alespoň zjistit, co je v proměné xml, poradím si, ale nevím, jak na to. Jak zjistím podporu takovéhle funkce v hostingu? Na webu píšou, že je dostupná v PHP5.x
Velice děkuji za každou radu.
26. 10. 2011 13:53:58
https://webtrh.cz/diskuse/nacteni-xml-2/#reply691314
Tom
verified
rating uzivatele
(6 hodnocení)
26. 10. 2011 13:59:10
Záleží, co s tím XML chceš dělat. Jestli potřebuješ nějak rozparsovat, jdeš na to dobře, pokud to chceš jenom normálně zobrazit, tak ti stačí funkce file_get_contents.
Zkus napsat
případně
Koukni se třeba sem: http://programovani.blog.zive.cz/2009/12/simplexml-jednoduse-na-xml-v-php-1dil/
26. 10. 2011 13:59:10
https://webtrh.cz/diskuse/nacteni-xml-2/#reply691313
Martin
verified
rating uzivatele
(36 hodnocení)
26. 10. 2011 13:59:40
Obsah proměnné $xml si můžeš vypsat:
Informace o dostupnosti SimpleXML lze zjistit pomocí phpinfo:
26. 10. 2011 13:59:40
https://webtrh.cz/diskuse/nacteni-xml-2/#reply691312
eduard.babka
verified
rating uzivatele
26. 10. 2011 14:17:39
Děkuji, zajímavé.. Print_r jsem zkoušel hned a nic se nezobrazilo. Prohlížeč si uchovává nějaký cahce i u takhle jednoduchých stránek? Reload jsem dělal klasicky F5
Teď se na hodnotu v uzlu "treti" dostanu jak?
echo $xml->xpath('/prvni/druhy/treti');
26. 10. 2011 14:17:39
https://webtrh.cz/diskuse/nacteni-xml-2/#reply691311
Martin
verified
rating uzivatele
(36 hodnocení)
26. 10. 2011 14:42:58
A máš správně uvedenou cestu k tomu souboru, ze kterého XML načítáš?
$file = 'zkouska.xml';
if (file_exists($file)) {
$xml = simplexml_load_file($file);
print_r($xml);
} else {
echo 'neexistujici soubor';
}
Teď se na hodnotu v uzlu "treti" dostanu jak?
echo $xml->prvni->druhy->treti;
http://www.php.net/manual/en/simplexml.examples-basic.php
26. 10. 2011 14:42:58
https://webtrh.cz/diskuse/nacteni-xml-2/#reply691310
hala
verified
rating uzivatele
26. 10. 2011 14:43:48
K uzlu třetí se dostanete jednoduše $xml->prvni->druhy->treti; K atributu nějakého uzlu například takto $xml->prvni. k potomkům se dostanete taky takto $xml->prvni->druhy->children(); a k atributům $xml->prvni->attributes(), Obě funkce vrací pole.
---------- Příspěvek doplněn 26.10.2011 v 14:47 ----------
No a kdybyste chtěl do prvku treti přiřadit text tak to se provede $xml->prvni->druhy->treti->{0} = 'text'; aby bylo ... text ..., když budete chtít zobrazit objekt SimpleXML jako text tak použijete $xml->asXML();
26. 10. 2011 14:43:48
https://webtrh.cz/diskuse/nacteni-xml-2/#reply691309
eduard.babka
verified
rating uzivatele
27. 10. 2011 11:08:22
Děkuji všem za rady.. :)
27. 10. 2011 11:08:22
https://webtrh.cz/diskuse/nacteni-xml-2/#reply691308
Pro odpověď se přihlašte.
Přihlásit