Hallo... habe 2 Dateien... einmal XML Datei und PH Datei, aber der Parser macht nicht, was er soll :-(
Habt ihr Rat?
condor.xml:
	
und condor.php:
	
							
						
					Habt ihr Rat?
condor.xml:
PHP-Code:
	
	
  <?xml version="1.0" encoding="UTF-8" ?> 
 <availabilityResponse>
 <flightList fromIata="SXF" toIata="PMI" flightsFound="2">
 <flightOptions>
 <flightOption>
  <fromDate>2006-10-04</fromDate> 
  <fromTime>06:20:00</fromTime> 
  <flightNum>DE3780</flightNum> 
  <price amount="139.00" currency="EUR" specialOffer="true" /> 
  </flightOption>
 <flightOption>
  <fromDate>2006-10-04</fromDate> 
  <fromTime>09:50:00</fromTime> 
  <flightNum>DE3888</flightNum> 
  <price amount="187.00" currency="EUR" specialOffer="true" /> 
  </flightOption>
  </flightOptions>
  </flightList>
 <flightList fromIata="PMI" toIata="SXF" flightsFound="2">
 <flightOptions>
 <flightOption>
  <fromDate>2006-09-25</fromDate> 
  <fromTime>14:40:00</fromTime> 
  <flightNum>DE1821</flightNum> 
  <price amount="109.00" currency="EUR" specialOffer="true" /> 
  </flightOption>
 <flightOption>
  <fromDate>2006-10-06</fromDate> 
  <fromTime>08:20:00</fromTime> 
  <flightNum>DE5717</flightNum> 
  <price amount="159.00" currency="EUR" specialOffer="true" /> 
  </flightOption>
  </flightOptions>
  </flightList>
  </availabilityResponse>
und condor.php:
PHP-Code:
	
	
<?php
// Umwandlungstabelle definieren
$tag_tabelle = array(
  "FROMDATE" => "B",
  "FROMTIME" => "B",
  "FLIGHTNUM" => "P"
);
// start_element() - wird vom XML-Parser bei öffnenden
// Tags aufgerufen
function start_element( $parser, $name, $attribute )
{
  // Umwandlungstabelle in den lokalen Scope holen
  global $tag_tabelle;
  // Testen, ob den aktuelle Tag in der Tabelle definiert ist 
  if( isset( $tag_tabelle[ $name ] ) )
  {  
    // öffnenden Tag ausgeben
    print "<" . $tag_tabelle[ $name ] . ">";
  }
}
// end_element() - wird vom XML-Parser bei schließenden
// Tags aufgerufen
function end_element( $parser, $name )
{
  // Umwandlungstabelle in den lokalen Scope holen
  global $tag_tabelle;
     
  // Testen, ob der aktuelle Tag in der Tabelle definiert ist 
  if( isset( $tag_tabelle[ $name ] ) )
  {  
    // Schließenden Tag ausgeben
    print "</" . $tag_tabelle[ $name ] . ">";
  }
}
// daten() - wird vom XML-Parser für CDATA-Bereiche aufgerufen 
function daten( $parser, $data )
{
  // Datenbereich ausgeben
  print $data;
}
// Instanz des XML-Parsers erzeugen
$parser = xml_parser_create();
// Parameter des XML-Parsers setzen 
xml_parser_set_option( $parser, XML_OPTION_CASE_FOLDING, true ); 
// Handler für Elemente ( öffnende / schließende Tags ) setzen 
xml_set_element_handler( $parser, "start_element", "end_element" ); 
// Handler für Daten ( CDATA ) setzen
xml_set_character_data_handler( $parser, "daten" );
// Versuchen, die Datei zu öffnen
if (! ( $fp = fopen( "condor.xml", "r" ) ) )
{
  // Fehler -> Ausführung abbrechen
  die( "XML Fehler: Konnte Datei nicht öffnen." );
}
// Datei zeilenweise auslesen
while( $data = fread( $fp, 4096 ) )
{
  // Versuchen, die aktuelle Zeile zu parsen
  if( !xml_parse( $parser, $data, feof( $fp ) ) )
  {
    // Fehler -> Ausführung abbrechen
    die(  "XML Fehler: " . 
          xml_error_string( xml_get_error_code( $parser ) ) . 
          " in Zeile " .
          xml_get_current_line_number( $parser )
       );
  }
}
// Vom XML-Parser belegten Speicher freigeben
xml_parser_free( $parser );
?>
Könnt Ihr helfen? *help*
 
          
 XML Parser Probleme
									
									
									XML Parser Probleme
								
Kommentar