php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Thema geschlossen
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.09.2011, 15:00  
Benutzer
 
Registriert seit: 23.04.2011
Beiträge: 71
PHP-Kenntnisse:
Anfänger
TorrnexT befindet sich auf einem aufstrebenden Ast
Standard XML-Datei parsen

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&apos;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&apos;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&apos;re such a mighty warrior, aren&apos;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&apos;é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
TorrnexT ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.09.2011, 15:30  
Erfahrener Benutzer
 
Benutzerbild von jspit
 
Registriert seit: 19.08.2011
Beiträge: 701
PHP-Kenntnisse:
Anfänger
jspit wird schon bald berühmt werden
Standard

Bei simplexml_load_file teste ich immer den Rückgabewert. Wird die XML im Browser angezeigt ?
jspit ist offline  
Alt 06.09.2011, 15:31  
Erfahrener Benutzer
 
Registriert seit: 07.12.2009
Beiträge: 843
PHP-Kenntnisse:
Fortgeschritten
chorn befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von TorrnexT Beitrag anzeigen
Doch funktioniert da die Variable $_GET["id"] irgendwie nicht.
Das reicht hier nicht als Fehlerbeschreibung. Was erwartest du, was kommt raus, was steht in dem Array drin etc... debuggen -> Forum PHP Einsteiger -> FAQ -> Lerne Grundlagen | Quellensammlung

http://www.php.de/wiki-php/index.php...ging:Leitfaden

Zitat:
Zitat von TorrnexT Beitrag anzeigen
PHP-Code:
echo $xml->ArtifactCollection['$get_id']->Id
Du bist dir aber schon im Klaren, was die einfachen Anführungszeichen bewirken?
chorn ist offline  
Alt 06.09.2011, 15:35  
Benutzer
 
Registriert seit: 23.04.2011
Beiträge: 71
PHP-Kenntnisse:
Anfänger
TorrnexT befindet sich auf einem aufstrebenden Ast
Standard

Nein bin ich mir ja nicht.
Mein Fehler ist, dass nichts angezeigt wird, wenn ich mit GET die ID auslese und die dann da in die Stelle schreibe. Wenn ich dort 0 hinschreibe oder 1 wird es ja angezeigt.
TorrnexT ist offline  
Alt 06.09.2011, 15:38  
Erfahrener Benutzer
 
Registriert seit: 07.12.2009
Beiträge: 843
PHP-Kenntnisse:
Fortgeschritten
chorn befindet sich auf einem aufstrebenden Ast
Standard

Dann mal los

http://www.php.net/manual/de/languag...les.basics.php
chorn ist offline  
Alt 06.09.2011, 15:39  
Benutzer
 
Registriert seit: 23.04.2011
Beiträge: 71
PHP-Kenntnisse:
Anfänger
TorrnexT befindet sich auf einem aufstrebenden Ast
Standard

Okay. Nur wie mache ich das jetzt das die Variable da funktioniert?
TorrnexT ist offline  
Alt 06.09.2011, 15:39  
Erfahrener Benutzer
 
Registriert seit: 07.12.2009
Beiträge: 843
PHP-Kenntnisse:
Fortgeschritten
chorn befindet sich auf einem aufstrebenden Ast
Standard

lesen, nachdenken, umsetzen. Hier gehts weiter

http://www.php.net/manual/de/language.types.string.php
chorn ist offline  
Alt 06.09.2011, 15:41  
Benutzer
 
Registriert seit: 23.04.2011
Beiträge: 71
PHP-Kenntnisse:
Anfänger
TorrnexT befindet sich auf einem aufstrebenden Ast
Standard

Ja das mit \\ und so kenne ich!
TorrnexT ist offline  
Alt 06.09.2011, 15:43  
Erfahrener Benutzer
 
Registriert seit: 07.12.2009
Beiträge: 843
PHP-Kenntnisse:
Fortgeschritten
chorn befindet sich auf einem aufstrebenden Ast
Standard

Ja dann nochmal von vorne:

Zitat:
Zitat von chorn Beitrag anzeigen
Du bist dir aber schon im Klaren, was die einfachen Anführungszeichen bewirken?
und ändern, ergibt auch nur wenig Sinn an dieser Stelle drei verschiedene Syntax zu benutzen.
chorn ist offline  
Alt 06.09.2011, 15:48  
Benutzer
 
Registriert seit: 23.04.2011
Beiträge: 71
PHP-Kenntnisse:
Anfänger
TorrnexT befindet sich auf einem aufstrebenden Ast
Standard

Ich verstehe es nicht Kannst du es mir einmal kurz hier erklären?
TorrnexT ist offline  
Thema geschlossen


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Datei Upload Prüfung auf wav / mp3 mastertnt PHP Tipps 2009 4 15.02.2009 20:05
Wert in externer Datei speichern Abakay PHP Tipps 2008 6 04.12.2008 18:56
Datei per Buttonklick runterladen... go1denboy PHP Tipps 2008 7 14.06.2008 20:25
Großer Baum -> Große Datei -> Hohe Ladezeit :( PsychoEagle PHP Tipps 2008 7 22.09.2007 12:44
.gz Datei entpacken und mit dem Inhalt weiterarbeiten R4v3r PHP Tipps 2007 8 02.02.2007 14:49
String als Datei speichern Zangelo PHP Tipps 2006 23 25.08.2006 14:13
Datei durchsuchen Wöllchen Beitragsarchiv 3 02.03.2006 22:23
XML Datei mit PHP Parsen - Problem mit Zeichencodierung DonTermi PHP-Fortgeschrittene 7 10.08.2005 11:36
Datei mehrmals öffnen und schließen in einem Skript PHP Tipps 2005-2 14 14.07.2005 18:12
Ordner Struktur auslesen bestimmte datei finden .... silverghost PHP Tipps 2005 3 24.05.2005 13:55
Includete Datei nicht gleich ausgeben Madden PHP-Fortgeschrittene 1 12.05.2005 00:19
xfdf Datei mit PHP an eMail senden Problem: Leere Datei PHP Tipps 2004-2 1 07.12.2004 12:25
[Erledigt] datei editieren PHP Tipps 2004 1 10.09.2004 20:33
(ich schonwieder) Link seite automatisch imported_DJ Nuno PHP Tipps 2004 14 19.08.2004 17:42
Wie kann ich eine PHP Datei in eine HTML Datei umwandeln PHP Tipps 2004 2 12.08.2004 18:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
xfdf datei in xml umwandeln

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:04 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum