Results 1 to 4 of 4

Thread: TXMLDocument: XML document opsplitsen

  1. #1
    Very strange member
    Join Date
    Jul 2001
    Location
    Don't know...
    Posts
    264
    Ok, ik ben iets verder gekomen, maar ben tegen een nieuw probleem aangelopen...

    De ISO 8859-15 werd gebruikt omdat hierin eurotekens worden ondersteunt, in de ISO 8859-1 is dit niet het geval... Maar ISO 8859-15 werd dus niet herkent... Maar ik kwam erachter dat de UTF-8 encoding ook vrijwel alle karakters ook wel ondersteunt, inclusief het euroteken... Dus gebruik ik nu de UTF-8 i.p.v. de ISO 8859-15, deze wordt wel herkent...

    Maar nu het volgende:

    Als input voor m'n progamma heb ik nu een XML bestand die gebruik maakt van UTF-8 encoding, maar dit XML bestand kan wel een paar honderd mb groot zijn... Wat doe ik dus eerst: Ik splits het bestand op met SAX en lees vervolgens de opgesplitste bestanden in met DOM...
    Dit opsplitsen gaat als volgt: SAX herkent een tag, deze wordt naar een listbox geschreven, SAX herkent de inhoud van de tag, deze wordt ook naar een listbox geschreven, SAX herkent het einde van de tag, deze wordt ook naar de listbox geschreven en zo gaat het nog wel even door... Net zolang hij een bepaalde tag 100 keer is tegengekomen... Op dit moment wordt de inhoud van de listbox met de saveToFile functie weggeschreven, wordt de listbox leeg gemaakt en wordt begonnen met het tweede bestand... Deze wordt ook weggeschreven enz...

    Vervolgens worden de opgesplitste bestanden een voor een met de TXMLDocument component ingelezen... Maar omdat de opgesplitste bestanden zijn weggeschreven vanuit de listbox met saveToFile voldoet het opgesplitste bestand niet meer aan de originele encoding: in het opgesplitste bestand staan bijvoorbeeld diacrieten (een e met trema enz)... Bij het inlezen van het opgesplitste bestand met de TXMLDocument struikelt Delphi hierover... En logisch natuurlijk...

    Maar hoe kan ik het mogelijk maken de inhoud van de listbox volgens een bepaalde encoding weg te schrijven??? Of is dit niet mogelijk??? Of moet ik i.p.v. een listbox te vullen een TXMLDocument component vullen en de inhoud hiervan wegschrijven om later weer in te lezen???
    Learning is easy................if you believe in it................

  2. #2

  3. #3
    Very strange member
    Join Date
    Jul 2001
    Location
    Don't know...
    Posts
    264
    O shit ja,

    Deze hoorde bij die andere thread waar jij naar verwijst Marcel... Heb denk ik op new thread geklikt i.p.v. op post reply... Kan er niet een controle op subject indien je je een nieuwe thread start??? Dan heb je het meteen door...
    Kan deze thread nog toegevoegd worden aan die andere thread???

    En heeft iemand nog een suggestie voor me???
    Learning is easy................if you believe in it................

  4. #4
    Very strange member
    Join Date
    Jul 2001
    Location
    Don't know...
    Posts
    264
    Hmm, nog geen reactie...

    Marcel, weet jij ook of het mogelijk is om de inhoud van een tag, ingelezen met SAX, op precies dezelfde manier door te spelen aan een TXMLDocument component??? Oftewel, dat niet wordt afgeweken van de encoding die op dat moment gebruikt wordt...

    Ik herken de inhoud van een tag bij inlezen met SAX doordat SAX een event afvuurt:

    Code:
    class procedure saxContentHandlerCharacters(Sender: TObject;
      const PCh: WideString);
    var
      inhoud : string;
    begin
      inhoud := WideCharToString(PWideChar(PCh));
      ...
    end;
    Aangezien de inhoud wordt omgezet naar een string (zoals je in het voorbeeld ziet) voordat deze wordt meegegeven (als inhoud van een tag) aan de TXMLDocument component kan ik me voorstellen dat de inhoud niet meer aan de gebruikte encoding voldoet...

    By the way: Dit is mijn eigen event die de standaard OnCharacters event van de SAX component overschrijft...
    Learning is easy................if you believe in it................

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Delphi code editor als XML document, taboe of handig?
    By Francois Schumans in forum Koffiehoek
    Replies: 15
    Last Post: 11-Sep-03, 11:47
  2. Replies: 33
    Last Post: 24-Jun-03, 00:17
  3. Replies: 8
    Last Post: 06-Jun-03, 13:03

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •