Pascal: XML auslesen

Hallo zusammen,
Hab folgendes problem mit XML auslesen...
XML:

  
  <?xml version="1.0" standalone="no" ?>  
- <RETS ReplyCode="0" ReplyText="Operation Successful">  
  <COUNT Records="3795" />  
  <DELIMITER value="09" />  
  <COLUMNS>LN RP</COLUMNS>  
  <DATA>07461078 1150</DATA>  
  <DATA>07461091 700</DATA>  
  <DATA>07460492 775</DATA>  
  <DATA>07459654 1200</DATA>  
  <DATA>07459529 1395</DATA>  
  <DATA>07457225 650</DATA>  
  <DATA>07457104 590</DATA>  
  <DATA>07455026 850</DATA>  
  <DATA>07451659 1000</DATA>  
  <DATA>07451716 995</DATA>  
  <MAXROWS />  
  </RETS>  

und PHP:

  
$filename = 'http://www.findyourlivingspace.com/administration/mls/loadRETSxml.php';  
$doc = new DOMDocument();  
$doc->load( $filename );  
$info = $doc->getElementsByTagName( "DATA" );  
foreach( $info as $val )  
{  
	$text = $val->nodeValue;  
	$string = (string)trim($text);  
	$cut = explode(" ",$string);  
	echo $cut[0];  
}  
  

Ich möchte gerne die Daten einzeln in Variablen schreiben...also $var_1 = 07461078, $var_2 = 1150

Allerdings wird das Leerzeichen bei explode nicht erkannt, bzw. ich denke, es handelt sich gar nich um ein Leerzeichen.
bei der prüfung durch bin2hex erhab das leerzeichen einen Wert vom 09 anstatt 20...was genau ist das und wie bekomme ich diese Trennung bei explode hin?
Besten Dank

  1. Hi,

    Ich möchte gerne die Daten einzeln in Variablen schreiben...also $var_1 = 07461078, $var_2 = 1150

    ungünstig; mit über 90% Wahrscheinlichkeit kann ich dir sagen, dass ein Array praktischer wäre.

    Allerdings wird das Leerzeichen bei explode nicht erkannt, bzw. ich denke, es handelt sich gar nich um ein Leerzeichen.
    bei der prüfung durch bin2hex erhab das leerzeichen einen Wert vom 09 anstatt 20

    Das ist ein Tabulatorzeichen "\t".

    Ciao,
     Martin

    --
    Der Professor sitzt beim Essen in der Mensa. Ein Student setzt sich ihm unaufgefordert gegenüber.
    Professor: Seit wann essen denn Schwein und Adler an demselben Tisch?
    Student:   Na gut, dann flieg' ich eben zum nächsten Tisch.
    1. Ich möchte gerne die Daten einzeln in Variablen schreiben...also $var_1 = 07461078, $var_2 = 1150

      ungünstig; mit über 90% Wahrscheinlichkeit kann ich dir sagen, dass ein Array praktischer wäre.

      Und dann ist bei einer derart flachen XML-Struktur zu 90 % xml_parse_into_struct() praktischer.

    2. Hi,

      Ich möchte gerne die Daten einzeln in Variablen schreiben...also $var_1 = 07461078, $var_2 = 1150

      ungünstig; mit über 90% Wahrscheinlichkeit kann ich dir sagen, dass ein Array praktischer wäre.

      Allerdings wird das Leerzeichen bei explode nicht erkannt, bzw. ich denke, es handelt sich gar nich um ein Leerzeichen.
      bei der prüfung durch bin2hex erhab das leerzeichen einen Wert vom 09 anstatt 20

      Das ist ein Tabulatorzeichen "\t".

      Ciao,
      Martin

      ..verstehe ich nicht ganz! das array müsste ich anschliessend wieder auslesen um in die DB zu schreiben...kann ja den wert $cut[0],[1],[2]...gleich direkt in der schleife in die db eintragen...

      das ist übrigens nur eine kleiner teil der XML datei, die struktur bleibt "flach" aber es sind viel mehr daten zwischen den <data> tags.

      das mit explode funktioniert nun mit dem tabulatorenzeichen...danke für die Hilfe diesbezüglich

      1. ..verstehe ich nicht ganz! das array müsste ich anschliessend wieder auslesen um in die DB zu schreiben...

        Und die Variablen musst du nicht wieder lesen?

        Worin besteht der Unterschied ob du $foo[0] oder $foo_0 in deiner Abfrage notierst?

        kann ja den wert $cut[0],[1],[2]...gleich direkt in der schleife in die db eintragen...

        Eine Abfrage abzusetzen ist ungleich schneller als in einer Schleife mehrere Abfragen hintereinander abzusetzen - das merkst du spätestens dann, wenn du versuchst ein 3 GB großes Logfile zeilenweise per Schleife in eine Datebank/Tabelle zu schreiben.

        das ist übrigens nur eine kleiner teil der XML datei, die struktur bleibt "flach" aber es sind viel mehr daten zwischen den <data> tags.

        Und du meinst, das würde einen XML-Parser stören?

        das mit explode funktioniert nun mit dem tabulatorenzeichen...danke für die Hilfe diesbezüglich

        Ich bin dennoch der Meinung, dass explode() eine unkluge Möglichkeit ist, XML zu parsen.