Also ich möchte einen xml_parser für DAoC schreiben welcher mit einer nicht ganz xml-konformen (sagen meine netten bücher) umgehen kann.
klar ist erstmal das man mit xml_parser_create() das objekt öffnen kann und die einzelnen Datensätze mit xml_set_element_handler extrahieren kann. Nun aber zu meinem Problem:
eine Zeile sieht ca. so aus:
<character id="530153" name="Xarius" laston="Recently" race="11" class="53" level="50" guildrank="1" totalrp="505345" lastweekrp="83791" housing="" anon="1"/>
startpunkt wäre "<character" und endpunkt "/>"
Jetzt möchte ich alle werte in dieser Zeile einfach in variablen übernehmen. Aber leider finde ich dazu nix schönes
Bis jetzt zerlege ich dies mit folgenden script:
wobei ich a) nicht die XML Funktionen von PHP nutze (gefällt mir nicht da nicht sauber) und b) bei einer änderung immer und immer wieder nacharbeiten muss obwohl es mit Variablen nicht nötig wäre.
klar ist erstmal das man mit xml_parser_create() das objekt öffnen kann und die einzelnen Datensätze mit xml_set_element_handler extrahieren kann. Nun aber zu meinem Problem:
eine Zeile sieht ca. so aus:
<character id="530153" name="Xarius" laston="Recently" race="11" class="53" level="50" guildrank="1" totalrp="505345" lastweekrp="83791" housing="" anon="1"/>
startpunkt wäre "<character" und endpunkt "/>"
Jetzt möchte ich alle werte in dieser Zeile einfach in variablen übernehmen. Aber leider finde ich dazu nix schönes
Bis jetzt zerlege ich dies mit folgenden script:
Code:
if($xml=fopen("http://camelot-europe.goa.com/herald/servers/Dartmoor/guilds/1614.xml","r")){
while($zeilen=fgets($xml))
{
$data = split(" ",$zeilen);
if($data[0]=="<character"){
$zeile = split("character",$zeilen);
foreach($zeile AS $einezeile){
$daten = split("\"",$einezeile);
$i++;
$chars[$i][lwrp]=$daten[17];
$chars[$i][name]=$daten[3];
$chars[$i][totalrp]=$daten[15];
// print_r($zeile);
}
}
}
}