Autor Zpráva
Šéva
Profil *
zdravím,mám menší problém se získáním dat z XML souboru,který je na jiném serveru
nastíním případ...
mám jídelní lístek a z jiného serveru mi je generovat XML soubor ke kterému mám přístup a chci udělat plně automatickou generaci toho lístku na web,tudíž žádné stahování XML souboru...
zkousel jsem toto
 $doc = new DOMDocument();
  $doc->load( 'http://seva.tym.cz/soubory/jidelnicek.xml' );
  
  $jidelnicky = $doc->getElementsByTagName( "JidelSKL" );
  foreach( $jidelnicky as $jidla )
  {
  $dates = $jidla->getElementsByTagName( "datum" );
  $date = $dates->item(0)->nodeValue;
  
  $druhy = $jidla->getElementsByTagName( "druhjidla" );
  $druh = $druhy->item(0)->nodeValue;
  
  $nazvyjidla = $jidla->getElementsByTagName( "nazjidla" );
  $nazevjidla = $nazvyjidla->item(0)->nodeValue;
  
  $typy = $jidla->getElementsByTagName( "typjidla" );
  $typ = $typy->item(0)->nodeValue;
  
  echo "$date - $druh - $nazevjidla - $typ\n<br />";
  }

to mi fungovalo jen pouze,kdyz jsem mel XML soubor u sebe v PC,kdyz to chci pouzit v teto forme,tak mi to vypise ze vyprsel casovy limit

dále jsem zkousel toto
$iC = "UTF-8";
$oC = "CP1250";
//$url = "http://localhost/intraweb/jidelaky/jidelnicek.xml";
$url="http://seva.tym.cz/soubory/jidelnicek.xml";
 
if (@$xml = simplexml_load_file($url)) {
foreach ($xml->ASTRISdata->JidelSKL as $item) {
$datum = iconv($iC, $oC, $item->datum);
$druh = iconv($iC, $oC, $item->druhjidla);
$nazev = iconv($iC, $oC, $item->nazjidla);
echo $datum." - ".$druh." - ".$nazev;
}
}

a to mi zase nedela nic,sice nezobrazuje chybu,ale ani nic nevypise...

mate nekdo nejakou radu?
jinak jeste pro info, jidelak v XML jsem si nahral na svuj server sem http://seva.tym.cz/soubory/jidelnicek.xml
Šéva
Profil *
jeste jsem zkousel toto a to mi fungovalo pouze na localhostu,kdyz sjem to zkusil ze sveho serveru,tak mi to napsalo chybu na radku $doc->loadXML($data);

<?php
  
  //$url = 'http://seva.tym.cz/soubory/jidelnicek.xml';
  $url = 'http://localhost/intraweb/jidelaky/jidelnicek.xml';
  
    $ch = curl_init();
    $timeout = 1;
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
    $data = curl_exec($ch);
    curl_close($ch);
    $doc = new DOMDocument();
    $doc->loadXML($data);

  
//  $doc = new DOMDocument();
//  $doc->load( 'http://seva.tym.cz/soubory/jidelnicek.xml' );
  
  $jidelnicky = $doc->getElementsByTagName( "JidelSKL" );
  foreach( $jidelnicky as $jidla )
  {
  $dates = $jidla->getElementsByTagName( "datum" );
  $date = $dates->item(0)->nodeValue;
  
  $druhy = $jidla->getElementsByTagName( "druhjidla" );
  $druh = $druhy->item(0)->nodeValue;
  
  $nazvyjidla = $jidla->getElementsByTagName( "nazjidla" );
  $nazevjidla = $nazvyjidla->item(0)->nodeValue;
  
  $typy = $jidla->getElementsByTagName( "typjidla" );
  $typ = $typy->item(0)->nodeValue;
  
  echo "$date - $druh - $nazevjidla - $typ\n<br />";
  }
  
  ?>

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:

0