[xml] php parsing problemen

Pagina: 1
Acties:

  • sjoerdb2
  • Registratie: Juli 2001
  • Laatst online: 09-05-2025
Ik moet een extern xml bestand parsen waar ik niets aan kan veranderen. Ik heb een script van tweakers geplukt om te parsen:
PHP:
1
<?$xmlSource="http://server/remote.xml";$VsnID="";$Titel="";$Price="";$currentElement="";$nieuws=array();function startElement($parser,$name,$attr){            $GLOBALS['currentElement']=$name;        }function endElement($parser,$name){    $elements=array('VsnID','Titel','Price');      if(strcmp($name,"Product")==0){            foreach($elements as $element){                $temp[$element]=$GLOBALS[$element];                                        }                $GLOBALS['Product'][]=$temp;                       $GLOBALS['VsnID']="";            $GLOBALS['Titel']="";            $GLOBALS['Price']="";              }}function characterData($parser, $data) {        $elements = array (             'VsnID', 'Titel', 'Price');        foreach ($elements as $element) {            if ($GLOBALS["currentElement"] == $element) {                $GLOBALS[$element] .= $data;            }        }    }function parseFile(){    global $xmlSource,$nieuws;        $xml_parser=xml_parser_create();        xml_set_element_handler($xml_parser,"startElement","endElement");    xml_set_character_data_handler($xml_parser,"characterData");        xml_parser_set_option($xml_parser,XML_OPTION_CASE_FOLDING,false);       if(!($fp=fopen($xmlSource,"r"))){      die("Cannot open  $xmlSource  ");   }   while(($data=fread($fp,4096))){      if(!xml_parse($xml_parser,$data,feof($fp))){         die(sprintf("XML error at line %d column %d ",                       xml_get_current_line_number($xml_parser),                       xml_get_current_column_number($xml_parser)));      }   }         xml_parser_free($xml_parser);          return $nieuws;   }$result=parseFile();$result = array_slice($result,1,5);foreach($result as $arr){/*    blablablaecho("<a href=\"http://frontpage.fok.nl/news.fok?id=$arr[id]\" class=\"noline\" target=\"_blank\">$arr[titel]</a><br>");*/}?>

nu krijg ik steeds maar:
code:
1
XML error at line 1 column 1

Nu vraag ik mij af of de externe xml wel goed is...
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    <?xml version='1.0' encoding='ISO-8859-1' ?>
 <SearchResults>
<Product>
<VsnID>1203951</VsnID>
<Titel>Nothing In Common</Titel>
<Price>28.99</Price>
</Product>
<Product>
<VsnID>1205154</VsnID>
<Titel>Say Nothing</Titel>
<Price>13.99</Price>
</Product>
<Product>
<VsnID>1201420</VsnID>
<Titel>Xena - Remember Nothing</Titel>
<Price>22.99</Price>
</Product>
</SearchResults>

kunnen jullie mij helpen?

  • sjoerdb2
  • Registratie: Juli 2001
  • Laatst online: 09-05-2025
ik snap vooral de spaties voor
<?xml version='1.0' encoding='ISO-8859-1' ?>
niet

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025

djc

Volgens mij moet dat dus <?xml version="1.0" encoding="ISO-8859-1" ?> zijn, met " in plaats van '.

Rustacean


Verwijderd

Gaat PHP die 1e xml regel niet proberen te parsen ivm de tags?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op zaterdag 20 juli 2002 01:07 schreef Manuzhai het volgende:
Volgens mij moet dat dus <?xml version="1.0" encoding="ISO-8859-1" ?> zijn, met " in plaats van '.
Dat maakt niet uit.
Die spaties maken geloof ik wel uit, of niet voor de standaard maar wel voor php dan :?

  • Mithrandir
  • Registratie: Januari 2001
  • Laatst online: 01-09 17:39
Op vrijdag 19 juli 2002 23:39 schreef sjoerdb het volgende:
[..]
nu krijg ik steeds maar:
code:
1
XML error at line 1 column 1

Nu vraag ik mij af of de externe xml wel goed is...
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    &lt;?xml version='1.0' encoding='ISO-8859-1' ?&gt;
 &lt;SearchResults&gt;
&lt;Product&gt;
&lt;VsnID&gt;1203951&lt;/VsnID&gt;
&lt;Titel&gt;Nothing In Common&lt;/Titel&gt;
&lt;Price&gt;28.99&lt;/Price&gt;
&lt;/Product&gt;
&lt;Product&gt;
&lt;VsnID&gt;1205154&lt;/VsnID&gt;
&lt;Titel&gt;Say Nothing&lt;/Titel&gt;
&lt;Price&gt;13.99&lt;/Price&gt;
&lt;/Product&gt;
&lt;Product&gt;
&lt;VsnID&gt;1201420&lt;/VsnID&gt;
&lt;Titel&gt;Xena - Remember Nothing&lt;/Titel&gt;
&lt;Price&gt;22.99&lt;/Price&gt;
&lt;/Product&gt;
&lt;/SearchResults&gt;

kunnen jullie mij helpen?
Kijk eens naar de laatste 2 tekens op die rij... Volgens mij slikt PHP ?> niet. Maar moet je ff kijken op php.net.

Verbouwing


Verwijderd

het zijn inderdaad de spaties er voor... <? ?> kan in conflict zijn met je config, maar dat zal haast wel niet...
Pagina: 1