Hallo,
ich habe eine XML-Datei, die ich parsen will und anschließend in eine DB speichern möchte.
Code:
<ArtifactCollection>
<Id>1009</Id>
<Name>
<English>Twisted: Guardian in a Defiant Land</English>
<French>Altération : Gardien sur les terres renégates</French>
<German>Verdreht: Wächter im Skeptiker-Land</German>
</Name>
<Description>
<English>After the Fall of Sanctum the Defiant's used these heretical implements to corrupt the followers of the Vigil.</English>
<French>Après la chute de Sanctum, les Renégats se servirent de ces instruments hérétiques pour corrompre les fidèles des Veilleurs.</French>
<German>Nach dem Fall von Sanctum nutzten die Skeptiker diese ketzerischen Geräte, um die Anhänger der Vigilie zu verderben.</German>
</Description>
<Level>50</Level>
<Difficulty>Easy</Difficulty>
<Location>Silverwood</Location>
<Items>
<Item>
<ItemKey>D3D6BC950501010101</ItemKey>
<Name>
<English>Infernal Springs</English>
<French>Sources infernales</French>
<German>Höllenquellen</German>
</Name>
</Item>
<Item>
<ItemKey>D4D6BC950501010101</ItemKey>
<Name>
<English>Sky-gazing Device of the Condemned</English>
<French>Appareil du condamné Regard-céleste</French>
<German>Himmelblick-Gerät der Verurteilten</German>
</Name>
</Item>
<Item>
<ItemKey>D5D6BC950501010101</ItemKey>
<Name>
<English>Obviously Evil Machinist Tools</English>
<French>Outils de machiniste visiblement maléfiques</French>
<German>Werkzeuge des eklatant bösen Maschinisten</German>
</Name>
</Item>
<Item>
<ItemKey>D6D6BC950501010101</ItemKey>
<Name>
<English>Unspeakable Tome of Heresy</English>
<French>Tome d'hérésie innommable</French>
<German>Unsäglicher Foliant der Ketzerei</German>
</Name>
</Item>
<Item>
<ItemKey>D7D6BC950501010101</ItemKey>
<Name>
<English>Accursed Stein of Ale</English>
<French>Chope de bière maudite</French>
<German>Verwunschener Bier-Steinkrug</German>
</Name>
</Item>
</Items>
<Rewards>
<Guaranteed>
<Reward>
<ItemKey>8DAAB2D20101010101</ItemKey>
<Name>
<English>Lucky Coin</English>
<French>Pièce porte-bonheur</French>
<German>Glücksmünze</German>
</Name>
<Quantity>1</Quantity>
</Reward>
</Guaranteed>
<PickOne>
</PickOne>
</Rewards>
</ArtifactCollection>
<ArtifactCollection>
<Id>975516782</Id>
<Name>
<English>Critter Tears</English>
<French>Larmes de bestioles</French>
<German>Kreaturentränen</German>
</Name>
<Description>
<English>You're such a mighty warrior, aren't you?</English>
<French>Quelle noble âme vous faites… pathétique !</French>
<German>Ihr seid so ein mächtiger Krieger, was?</German>
</Description>
<Level>50</Level>
<Difficulty>Normal</Difficulty>
<Items>
<Item>
<ItemKey>E7E69A8B0401010101</ItemKey>
<Name>
<English>Bunny Tear</English>
<French>Larme de lapin</French>
<German>Kaninchenträne</German>
</Name>
</Item>
<Item>
<ItemKey>B9E3A6C90701010101</ItemKey>
<Name>
<English>Coyote Tear</English>
<French>Larme de coyote</French>
<German>Kojotenträne</German>
</Name>
</Item>
<Item>
<ItemKey>C0ADDAD30601010101</ItemKey>
<Name>
<English>Cat Tear</English>
<French>Larme de chat</French>
<German>Katzenträne</German>
</Name>
</Item>
<Item>
<ItemKey>BDD787B30501010101</ItemKey>
<Name>
<English>Fox Tear</English>
<French>Larme de renard</French>
<German>Fuchsträne</German>
</Name>
</Item>
<Item>
<ItemKey>F9C3F9FF0201010101</ItemKey>
<Name>
<English>Deer Tear</English>
<French>Larme de chevreuil</French>
<German>Hirschträne</German>
</Name>
</Item>
<Item>
<ItemKey>D4DFC4D40301010101</ItemKey>
<Name>
<English>Snake Tear</English>
<French>Larme de serpent</French>
<German>Schlangenträne</German>
</Name>
</Item>
<Item>
<ItemKey>DEF38EF00201010101</ItemKey>
<Name>
<English>Rat Tear</English>
<French>Larme de rat</French>
<German>Rattenträne</German>
</Name>
</Item>
<Item>
<ItemKey>F2D9FCA20101010101</ItemKey>
<Name>
<English>Squirrel Tear</English>
<French>Larme d'écureuil</French>
<German>Eichhörnchenträne</German>
</Name>
</Item>
</Items>
<Rewards>
<Guaranteed>
<Reward>
<ItemKey>EC9CC9B10201010101</ItemKey>
<Name>
<English>Hoard</English>
<French>Trésor</French>
<German>Hort</German>
</Name>
<Quantity>1</Quantity>
</Reward>
<Reward>
<ItemKey>FA8A99FF0101010101</ItemKey>
<Name>
<English>Spirit of Tears</English>
<French>Esprit des Larmes</French>
<German>Geist der Tränen</German>
</Name>
<Quantity>1</Quantity>
</Reward>
</Guaranteed>
<PickOne>
</PickOne>
</Rewards>
</ArtifactCollection>
Ich habe mir das so gedacht, dass ich mit GET-Variablen das erste Artifakt (von ArtifactCollection) auslesen kann. Die Daten sollen dann in eine MySQL-DB geschrieben werden (das habe ich schon und das funktioniert = bei einem anderen Script). Wenn dies fertig ist, soll eine automatische Weiterleitung von HTML gestartet werden, die auf die "id" in der URL um eins erhöt, sprich das nächste wird geladen.
Hier mein bisheriger PHP Code. Doch funktioniert da die Variable $_GET["id"] irgendwie nicht. Wie kann ich das lösen? Oder gibt es noch eine andere Methode, jedoch ist die XML sehr groß (470 MB xD) und wenn ich das mit der Methode dieser GET-Variable mache, kann ich in etwa sehen, wie weit der ist.
PHP-Code:
$get_id = $_GET["id"];
if (file_exists("../data/xml/ArtifactCollections.xml")) {
# Objekt erzeugen
$xml = simplexml_load_file("../data/xml/ArtifactCollections.xml");
echo "<b><u>Geparste Daten:</u></b><br/>";
echo "ItemID: ";
echo $xml->ArtifactCollection['$get_id']->Id;
echo "<br/>";
echo "Deutscher Name: ";
echo $xml->ArtifactCollection["$get_id"]->Name->German;
echo "<br/>Beschreibung: <br/>";
echo $xml->ArtifactCollection[$get_id]->Description->German;
echo "<br/>";
echo $get_id;
} else {
exit('Konnte Datei nicht laden.');
}
}
Ich habe da mehrere Sachen probiert, jedoch klappt es leider nicht. Was mache ich falsch?
Danke schonmal im vorraus!
Gruß,
TorrnexT