Ich habe eine .xml
Datei (Original mit über 7000 Zeilen, aber zum Testen habe ich eine mit nur 3 Zeilen verwendet, falls die Größe mein Problem war, aber es war nicht t), aus dem ich die Daten extrahieren möchte. Doch eine automatisch generierte Sache zu sein, dann ist es nicht sehr hübsch, beobachten:Extrahieren von Daten aus (riesigen) XML-Datei mit PHP
<ROW MODID="182" RECORDID="561">
<COL>
<DATA>
</DATA>
</COL>
<COL>
<DATA>
6 quai St Pierre</DATA>
</COL>
<COL>
<DATA>
</DATA>
</COL>
<COL>
<DATA>
Monsieur</DATA>
</COL>
<COL>
etc, etc ... Ich habe entwickelt bereits die Anfragen, die ich auf Xacobeo
ausführen müssen, aber ich kann nicht scheinen, Es funktioniert mit PHP. Ich habe eine Vielzahl von Variationen versucht, die letzten die folgenden sein:
$xmldoc = new DOMDocument();
$xmldoc->load('hellashort.xml');
$xpathvar = new Domxpath($xmldoc);
$queryResult = $xpathvar->query('//COL');
foreach($queryResult as $result){
echo $result->textContent;
}
Ich habe versucht, diesen Code mit ästhetisch ansprechenden Dateien und es funktioniert, so wie kann ich es bekomme die Arbeit mit dieser Datei? Alle Vorschläge geschätzt. Dank
UPDATE ich die kurze Datei auf Fehler überprüft und erkennen ich nicht ein Element geschlossen hatte, so dass man arbeitet, aber die lange Datei keine Fehler enthält nach dem Online-checker aber immer noch nicht funktioniert .
UPDATE 2 Die lange Datei arbeitet jetzt für die Anforderung /
aber gibt nichts zurück, sobald sie komplizierter, das heißt: //ROW/COL[position()=39]/DATA
die richtigen Ergebnisse in Xacobeo zurückzukehren. Ist es möglich, dass eine .xml
Datei zu groß ist, um auf diese Weise behandelt zu werden? (Diese Datei ist etwa 11,2 Mo)
UPDATE 3 - FIXED Also änderte ich meine genähert und landete es auf diese Weise tun:
$file=file_get_contents("go.xml");
$xml=simplexml_load_string($file);
$elements=$xml->path('//ROW/COL[position()=1]/DATA');
ich sehen, warum es SimpleXML, vielen Dank für all die aufgerufen wird help though
Ich würde vorschlagen, die XML mit einem Online-Tool zu validieren und auch teilen, welchen Fehler Sie bekommen, oder was passiert. – Netham
Es werden keine Fehler angezeigt (entweder auf dem Bildschirm oder im Protokoll), und es erscheint kein Ergebnis ... Ich habe vor und nach der Funktion ein paar zufällige Sätze wiederholt, um sicherzustellen, dass ich nicht den weißen Bildschirm des Todes bekomme, und Beide sind gut. –