Ga naar inhoud
  • 0

XML export met grote veldinhoud, erg traag


SuperWimmie

Vraag

Dag allemaal,

Ik wil een XML export maken, gewoon recht voor zijn raap.
Type FMPXMLRESULT, zonder XSL file.
Het is een platte tabel van in totaal 300 velden, met enkele velden er in waar via Base64Ecode gegevens uit een container in zijn geplaatst.
Het is dus puur tekst, maar sommige velden zijn pakweg 200.000 bytes groot.
Groter dan 400.000 bytes zitten er niet in.
Het totale bestand in CSV is 2,7 Mb groot, in totaal 217 records.

Het exporteren naar CSV gaat heel erg vlot. Dergelijke velden zijn geen probleem. De export is in 2 seconden geheel gereed.
Maar XML, het lijkt er op dat Filemaker er compleet van overstuur raakt. De PC is hard aan het rekenen en het kost enorm veel tijd.
Op hetzelfde bestand waar CSV er 2 seconden over doet, gaat XML even een vol uur pakken.

Hebben jullie deze ervaring ook?

Enkele gegevens: Filemaker 13 tm 16 (allemaal getest, hetzelfde resultaat)
Window 10
Cache in Filemaker gezet op 512 Mb.
 

aangepast door SuperWimmie
Link naar reactie

7 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Ooit heel enthousiast begonnen met Filemaker/xml via xslt. Met grote velden en grote hoeveelheden data (>100.000 records) liep toentertijd Filemaker iedere keer vast. Toen alle XML-exports en -imports handmatig gemaakt met dynamische scripts en custom functions. Het loopt als een zonnetje er worden hier elke dag tientallen xml exports en imports gedraaid.

Link naar reactie
  • 0

Dank voor de reacties!

Heeft iemand de juiste filterset paraat om hem tot een geldige XML te krijgen?

Ik ontdek nogal wat vreemde tekentjes waar XML geen raad mee weet. Een bepaalde Enter lust hij niet, bestaande uit char13 en char10.

Voor de rest is de export met een eigen gebouwde XML vrijwel net zo snel als een standaard TAB export. Precies wat ik zoek.

Link naar reactie
  • 0

Je kunt natuurlijk grotere velden als CDATA in de xml zetten.

Verder gebruik ik:

 Substitute( p_str ; ["’" ; "'" ] ; [ "‘" ; "'" ] ; ["|";" "] ; [" ";" "] ; ["&";"&amp;"] ; ["<";"&lt;"] ; [">";"&gt;"] ; ["\"";"&quot;"] ; ["'";"&apos;"] ; [ char(10) ; "&#10;"] ; [ char(11); "&#10;"] ; [ "¶" ; "&#10;"] ; [ char(31) ; " "] ; [ char0 ; "" ] )

Hierbij is char0 een custom functie waarin een char(0) zit. Dit kwam ik in diverse velden tegen waar mensen iets hebben gekopieerd uit excel, websites en pdf. Als je een char(0) replace werkt het niet, als je een char(0) uit bv een hexeditor plakt in een globaal of custom functie werkt het wel.

 

aangepast door Jos Hofman
Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...