XML Datei Zeilenweise lesen

Begonnen von Nioc, 10. Dezember 2009, 14:08:01

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

Nioc

Ich habe eine Frage zu dem XML_READER, und zwar möchte ich den Inhalt einer XML-Datei auslesen und damit meine Anwendung initialisieren.
Das funktioniert soweit auch super. Einziger Haken ist, dass ich die Datei komplett in den Buffer lesen muss, um diesen dann dem XML_READER zu übergeben. Das heißt natürlich, dass ich einen entsprechend großen Buffer vorhalten muss, was mit zunehmender Dateigröße zu Speicherknappheit führt. Hat jemand eine Idee, wie ich die Datei in kleinen Häppchen (z.B. Zeilenweise) dem READER zuführen kann?

Vielen Dank im Voraus,
Robert

peewit

#1
hallo nioc

wie gross ist denn deine xml-datei ?
kannst du deine setup_xml datei nicht in mehrere files splitten und hintereinander verarbeiten. ?

da der xml_reader sich obsolut im buffer hocharbeitet, gibt es kein rezept für dein problem, ohne den baustein komplett umzukrempeln

Zu der Problemstellung habe ich mir auch schon gedanken gemacht, aber die Zeit ist mein grösster gegenspieler !

1. Um das zu lösen würden wir einen XML_READER benötigen der im Streaming verfahren arbeitet
  darüber habe ich schon länger nachgedacht, und auch schon lösungsansätze erarbeitet.
  ich werde also einen XML_READER_STREAM einplanen, das problem ist halt das eine xml_zeile eigentlich beliebig lange sein kann !

2. damit das einfach funktioniert wäre ein plattformneutraler zugriff auf Dateien über oscat von vorteil
   eine funktionierende referenz_lib gibt es schon auf PCWORX, und muss noch für codesys adaptiert werden

3. ich habe dieses Prinzip bei mir schon mit einen INI File reader am laufen
  dieser baustein kann eine beliebig grosse ini.datei (format wie bei windows ini files) selbst mit einen 1 byte grosses filebuffer verarbeiten

also an deinen wünschen/problemen wird gearbeitet, aber es dauert halt immer etwas....