Ik moet een extern xml bestand parsen waar ik niets aan kan veranderen. Ik heb een script van tweakers geplukt om te parsen:
nu krijg ik steeds maar:
Nu vraag ik mij af of de externe xml wel goed is...
kunnen jullie mij helpen?
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?