| | |
| Stránka: 1 z 1
| [ Príspevkov: 13 ] | |
Autor | Správa |
---|
Registrovaný: 18.10.07 Prihlásený: 14.07.11 Príspevky: 107 Témy: 32 |
mam takyto script
Kód: <? $nas_soubor="f.xml";
function PocatecniZnacka ($parser, $nazev, $atributy) { echo '<b>'; }
function KoncovaZnacka ($parser, $nazev) { echo '</b><br />'; }
function contents($parser, $data){ echo $data; }
$nas_parser=xml_parser_create();
xml_set_element_handler ($nas_parser, "PocatecniZnacka", "KoncovaZnacka"); xml_set_character_data_handler($nas_parser, "contents"); // fáze 3) vlastní čtení souboru, práce s ním a ukončení parseru if (!($obsahsouboru = fopen($nas_soubor, "r"))) die("nemozem otvorit subor pre citanie.");
while ($data = fread($obsahsouboru, 5)) xml_parse($nas_parser, $data, feof($obsahsouboru));
xml_parser_free($nas_parser); ?>
vsetko co najde v subore f.xml mi da medzi tagy <b> </b>. Potreboval by som urobit take nieco ze ked v tom xml subore najde tag napr. <meno>peter novak</meno>, vezme mi ten obsah cize ten retazec peter novak a vypise. ale len vtedy ak najde ten tag <meno>. nechcem aby mi vypisoval vsetky ostatne. viete niekto ako nato ?
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 15.03.2010 19:22 | |
|
Napriklad si mozes vytvorit globalnu premennu $aktualny_element, ktoru budes vzdy vo fcii PocatecniZnacka menit a vo fcii contents pouzijes podmienku if ($aktualny_element == 'meno'). Nezabudni v obidvoch spomenutych fciach pouzit na zaciatku global $aktualny_element;.
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
pouzi radsej DOMDocument a getElementsByTagName(), lebo tento tvoj sucasny skript je na tak trivialnu vec zbytocne zlozity...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 18.10.07 Prihlásený: 14.07.11 Príspevky: 107 Témy: 32 | Napísal autor témy Broko71: 15.03.2010 20:14 | |
|
diky moc
|
|
Registrovaný: 18.10.07 Prihlásený: 14.07.11 Príspevky: 107 Témy: 32 | Napísal autor témy Broko71: 17.03.2010 13:12 | |
|
Zacal som parsovat XML pomocou DOM Document takto priblizne :
Kód: <?php
$doc = new DOMDocument(); $doc->load( 'cat.xml' );
$zoznam = $doc->getElementsByTagName( "Table" ); foreach( $zoznam as $p ) { $popis_p = $p->getElementsByTagName( "nazev" ); $popis = $popis_p->item(0)->nodeValue;
echo "$popis <br /><br />";
} ?>
chcem len vediet ak mam v xml zapisane nieco taketo
<Zbozi diffgr:id="Zbozi34" msdata:rowOrder="23" kod_zbozi="123456" popis="nejaky popis">
Ako z toho tagu <Zbozi> dostanem napr. hodnotu kod_zbozi alebo popis ?
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
napr. cez metodu attributes()
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 18.10.07 Prihlásený: 14.07.11 Príspevky: 107 Témy: 32 | Napísal autor témy Broko71: 17.03.2010 14:25 | |
|
myslis takto nejako ? lebo to skusam ale nechce mi to fungovat
$popis_p = $p->getElementsByTagName( "Zbozi" )->attributes;
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 17.03.2010 14:26 | |
|
Mozno cez Kód: $p->getElementsByTagName( "Zbozi" )->attributes()->popis
|
|
Registrovaný: 18.10.07 Prihlásený: 14.07.11 Príspevky: 107 Témy: 32 | Napísal autor témy Broko71: 17.03.2010 14:34 | |
|
ani tak mi to nejde
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
sorry, tato metoda nie je z DOMDocument, pomylil som si to so SimpleXMLElement...
Naposledy upravil stenley dňa 17.03.2010 14:44, celkovo upravené 3
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 18.10.07 Prihlásený: 14.07.11 Príspevky: 107 Témy: 32 | Napísal autor témy Broko71: 17.03.2010 14:43 | |
|
a s cez DOM to nevies nahodou urobit ?
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
tu by malo fungovat getAttribute("nazov_attr")
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 18.10.07 Prihlásený: 14.07.11 Príspevky: 107 Témy: 32 | Napísal autor témy Broko71: 17.03.2010 14:53 | |
|
dik cez to to funguje
|
|
| Stránka: 1 z 1
| [ Príspevkov: 13 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| parsovanie xml v PHP, ASP | 1 | 435 | 22.10.2011 19:13 chrono | | Parsovanie XML v Assembler, C, C++, Pascal, Java | 1 | 395 | 04.06.2012 10:40 Siriuse | | PHP parsovanie json ? v PHP, ASP | 3 | 455 | 23.10.2011 18:05 chrono | | začiatočnicka otázka k spracovaniu XML v PHP, ASP | 6 | 308 | 21.01.2011 17:16 davider137 | | PHP a XML v PHP, ASP | 3 | 379 | 26.12.2012 18:32 shaggy | | PHP generovanie XML v PHP, ASP | 4 | 843 | 12.04.2011 14:22 general667 | | PHP a XML v PHP, ASP | 1 | 919 | 27.03.2007 19:16 qacer | | XML v PHP v PHP, ASP | 4 | 454 | 29.09.2010 20:36 stenley | | PHP -> XML v PHP, ASP | 3 | 617 | 01.05.2010 8:47 stenley | | php a XML [ Choď na stránku: 1, 2 ] v PHP, ASP | 32 | 2150 | 19.09.2008 15:02 max-m | | PHP webservice XML-RPC v PHP, ASP | 6 | 384 | 28.04.2013 22:59 shaggy | | PHP a XML (problem) v PHP, ASP | 3 | 283 | 08.12.2012 21:06 stenley | | XML v PHP - chyba v PHP, ASP | 2 | 722 | 26.03.2010 15:25 d0.0b | | php v xml súbore v PHP, ASP | 2 | 311 | 28.04.2013 22:26 Ďuri | | Import XML do MySQL pomocou PHP v PHP, ASP | 1 | 447 | 30.10.2015 8:17 BX | | Tutorial/Program na Flash + PHP (+ XML) v Ostatné | 6 | 1482 | 29.07.2008 12:17 stenley |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|