php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > XML
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


XML Hier passt alles rein, was das Thema XML (XSLT, JSON etc...) betrifft, auch in Verbindung mit PHP

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 25-05-2005, 10:38
tydu
 Newbie
Links : Onlinestatus : tydu ist offline
Registriert seit: May 2004
Beiträge: 10
tydu ist zur Zeit noch ein unbeschriebenes Blatt
Standard parsen großer xml files über 8 MB

hi leute,

bekomme probleme mit dem speicher und bekomme logischerweise zu oft einen memory oversize error.

verarbeite große xml mit expat, muss sie nämlich in die db schreiben.

gibt es eine methode xml files auszulesen, die wirklich groß sind. irgendeine technik, dass man den ram immer wieder frei gibt?

danke.

ciao
tydu
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 27-05-2005, 14:09
markusschmitt
 Member
Links : Onlinestatus : markusschmitt ist offline
Registriert seit: Mar 2003
Beiträge: 391
markusschmitt ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich würde sagen, du machst was gewaltig falsch. Expat läuft Ereignisorientiert also SAX. Es wird also Zeile für Zeile verarbeitet und da sollte eigentlich nie der Speicher ins Endlose rennen da nur eine einzige Zeile im Speicher landen sollte. Bei DOM könnte ich es ja verstehen. Ausser du hast das ganze XML in einer Zeile stehen. Weiss jetzt nicht genau wie da verfahren wird und ob da die ganze Zeile eingelesen wird. Musst einfach mal testen.

MfG Markus
Mit Zitat antworten
  #3 (permalink)  
Alt 29-05-2005, 00:03
tydu
 Newbie
Links : Onlinestatus : tydu ist offline
Registriert seit: May 2004
Beiträge: 10
tydu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

er wandelt ja das ganze xml file in ein array um.
schätze das das zu viel speicher in anspruch nimmt.

meine weitere verarbeitung geht aus dem array aus, weil er sich verschiedene sachen auswerten muss.

vielleicht mach ich ja grundlegend etwas falsch.

ich verwende:

xml_parser_create()
und xml_parse_into_struct, welches mir das ganze in ein array packt.

im grunde würde es mir ja reichen, wenn er das ganze, also alle xml inhalte in die datenbank schmeißt, weil ich es dann in der datenbank ohne speicherprobleme beeinflusßen könnte.

ist der ansatz besser, als in ein array schmeißen?
wenn ja, wie schmeiß ich am besten (performanceschonend) das ganze teil in die db?

ist für mich ein reines datenaustauschmedium, nichts für die darstellung, wird halt leider oft einige mb groß.

danke für weitere tipps.

ciao
tydu
Mit Zitat antworten
  #4 (permalink)  
Alt 29-05-2005, 02:06
markusschmitt
 Member
Links : Onlinestatus : markusschmitt ist offline
Registriert seit: Mar 2003
Beiträge: 391
markusschmitt ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Da ich nicht weiss wie deine Struktur ausschaut würde ich die XML File mit SAX auslesen. Da ich annehme es handelt sich bei den Daten um eine Liste von Objekten würde ich eine Klasse erstellen. Beim öffnen eines Listenobjektes bzw. Tags würde ich ein einmalig erstelltes Objekt leeren. Bei den Kinderelementen dann das Objekt mit Eigenschaften befüllen und beim schliessen des Listetags eine Store Methode aufrufen die die Eigenschaften in der DB speichert.

<shop> // Erstellen des Objektes
<book> // Objekt leeren
<name>hallo</name> // Objekt befüllen
<isbn>öfjöf sfj...</isbn> // Objekt befüllen
</book> // Objekt in der DB speichern
</shop>

MfG Markus
Mit Zitat antworten
  #5 (permalink)  
Alt 29-05-2005, 15:39
tydu
 Newbie
Links : Onlinestatus : tydu ist offline
Registriert seit: May 2004
Beiträge: 10
tydu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

danke für den ansatz markus,

ja, die xml structur ist relativ einfach.

wie erfolgt das leeren knotenweise, welche sax befehle?

thx & bye
tydu
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

Microweber CMS

Open source, drag and drop website builder

13.01.2020 Berni | Kategorie: HTML5/ EDITOR
PhoneGap Apps mit JS, CSS3 und HTML5 erstellen ansehen PhoneGap Apps mit JS, CSS3 und HTML5 erstellen

PhoneGap, Framework zur Erstellung hybrider Applikationen für mobile Endgeräte.

13.01.2020 Berni | Kategorie: App-Entwicklung
Bo)Tickets

Bo)Tickets bietet Ihnen eine Schnittstelle für Kundenanfragen an. In dem Script definieren Sie Supportbereiche, also zum Beispiel „Technik, Buchhaltung, Support“. Ihre Kunden können dann über ein Formular eine Anfrage abschicken.

31.12.2019 bocombo | Kategorie: PHP/ Ticketsystem
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:30 Uhr.