Domainrobot Parser

Bash, Shell, PHP, Python, Perl, CGI
phantom32
Posts: 29
Joined: 2005-01-03 23:06

Domainrobot Parser

Post by phantom32 » 2006-01-13 11:24

Hallo Forum,

ich habe eine Frage. Und zwar nutze ich eine HTTP-Schnittstelle für Domain Bestellungen. Das klappt soweit auch. Ich bekomme jedoch folgenden Code als Rückgabewert und möchte diesen gerne in ein Objekt oder Array legen. Gibts da eine einfache Möglichkeit das zu machen?

Ein einfacher XML-Parser funktioniert wohl nicht, weil die einzelnen Werte ja mit "Doppelpunkt" getrennt sind. Würd mich über jede Hilfe oder Anregung freuen.

Danke!

Als Beispiel: hätte gerne:

$array[system][user] = dieter
$array[system][task] = 0301

usw...


<system>
user: dieter
task: 0301 (createhandle)
status: N0301 [Handle-Antrag erfolgreich gestartet.]
success_value: handle: 9237548

</system>


<parsed_request>
user: dieter
context: 4
task: 0301
action: createhandle
type: PERSON
fname: Hans
lname: Schmidt
address: Ringstra?e8
address: 2.Stock
city: Musterstadt
pcode: 12345
country: DE
phone: +49-12-34567-8
fax: +49-12-34567-8
email: email@email.de
protection: A
nic_ref: DE
reply_to: email@emil.de
remarks: DiesistmeinerstesHandle!
</parsed_request>


<request>

user: dieter
context: 4
task: 0301
action: createhandle
type: PERSON
fname: Hans
lname: Schmidt
address: Ringstra?e8
address: 2.Stock
city: Musterstadt
pcode: 12345
country: DE
phone: +49-12-34567-8
fax: +49-12-34567-8
email: email@email.de
protection: A
nic_ref: DE
remarks: DiesistmeinerstesHandle!
</request>

sycronic
Posts: 24
Joined: 2005-10-26 11:18

Re: Domainrobot Parser

Post by sycronic » 2006-01-13 15:34

ich würde <system> und die anderen blöcke
bzw. deren inhalt erstmal per regexp (geht glaub ich mit eregi)
"<system>(.*)</system>" in eine variable schieben
dann die zeilen mit explode in ein array (trennzeichen "zeilenumbruch") splitten.
dann kannst du von mir aus noch eine schleife durchlaufen
lassen, die mit

Code: Select all

$werte = explode(": ",$zeilenarray[$i]);
$key = $werte[0];
$wert = $werte[1];
$array[system][$key] = $wert;
dein array zusammenbaut. mein beispiel ist natürlich stark vereinfacht, aber du suchst ja auch nur einen ansatz :)