Autor Zpráva
HGD
Profil
dobrý večer, potřebuji z xml dokumentu dostat obsah jednotlivých značek do proměnných. Mám XML:
<?xml version="1.0" encoding="utf-8"?>
 <install>
  <name>Banners</name>
  <autor>Eda Utopenej</autor>
  <verze>1.0.0</verze>
  <copyright>(C) 2005 Open Source Matters. All rights reserved.</copyright>
  <licence>http://www.gnu.org/copyleft/gpl.html GNU/GPL</licence>
  <popis>This component manages banners and banner clients</popis>
 </install>


a po dlouhém hledání a brouzdání jsem našel script PHP na parsování (pro mě funkční)
$file="ban.xml";
$znacka="";

function pocatek($parser, $nazev, $atributy){
 global $znacka;
 $znacka=$nazev;
}
function konec($parser, $nazev){}
 
function znaky($parser, $data) {
 global $znacka;
  if(trim($data)!=''){ 
    echo $znacka.'&nbsp;=&nbsp;'.trim($data).'<br>'; 
  }
}
 $parser=xml_parser_create();
 xml_set_element_handler($parser, "pocatek", "konec");
 xml_set_character_data_handler($parser, "znaky");
 
if(!($soubor=fopen($file, "r"))){
die("Nelze otevřít soubor ".$file."!");
}else{
  while ($d = fread($soubor, 4096)){
   if(!xml_parse($parser, $d, feof($soubor))){
  die("Chyba XML v souboru ".$file." na řádku ".xml_get_current_line_number($parser)."");
   }
  }
xml_parser_free($parser);
 }


Poslední problém je v tom, že jsem se snažil uložit jednotlivé značky do pole, a pak je v cyklu vypisovat a přiřazovat, ale jediný čeho jsem docílil bylo, že názvy ZNAČEK se vypisovaly po písmenku a ke každému se přihodil obsah
Leo
Profil
A co nejake vestavene fce PHP pro praci xml? Leo
HGD
Profil
o jednej sem čet, už newim jak se jmenuje, ale je podporována až od PHP v.5, a ikdyž už nyní je prakticky všude, tak třeba na localu mam 4ku. Prostě potřebuju něco funkční i pro starší verze PHP
Leo
Profil
"tak třeba na localu mam 4ku."

Na to bych se nevymlouval. Prave tuhle instalaci je nejjednodussi zmenit :-) Leo
HGD
Profil
to já vim, ale de o to, že newim, kde to kdy na jakym serveru budu používat, tak to chci mít rači funkční i pro to starší PHP
HGD
Profil
poradíte někdo kloudnou odpovědí???
Já buď dostanu vždycky jedničky nebo jenom jedno písmeno značky :(
Leo
Profil
DOM XML pro PHP4, simplexml pro PHP5, asi, vic viz manual: www.php.net, kdyz vpravo zadate do hledani xml tak vam neco vypadne, Leo
djlj
Profil
Pro php5 vynikající SimpleXML: http://cz.php.net/simplexml
HGD
Profil
já sem si ted nainstaloval PHP5 a to DOM XML hází chyby, a i na PHP4 házelo:

Fatal error: Call to undefined function domxml_open_file() in C:\Program Files\EasyPHP 2.0b1\www\xml.php on line 38

SimpleXML na 5ce mi de, ale rači bych to měl opravdu postavený i pro PHP4
djlj
Profil
Fatal error: Call to undefined function domxml_open_file()
Holt nemáš v php.ini povolené potřebné rozšíření.

rači bych to měl opravdu postavený i pro PHP4
Proč? Od čtverky se postupně upouští. Spíš bys měl psát skripty tak, aby fungovaly v budoucích verzích (php6) a ne v předchozích. Jen sám sebe zbytečně omezuješ.
HGD
Profil
takže rači to postavit na funkci SimpleXML? jestli se mi t teda podaří :)

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: