Hallo,
ich habe eine Programm für Windows Mobile 5 unter Mysaifu geschrieben was eine XML-Datei parst und daraus einen Vector-Tree baut.
Bisher habe ich für das parsen den MinML verwendet. Dieser stammt aber aus dem Jahre 2001 und hatte Probleme damit Umaute unter Windows auszulesen. Ich muss dazu sagen ich arbeite mit Eclipse unter Linux und da hatte ich keine Probleme mit Umlauten. Wenn ich das Programm dann aber auf einem Windows-Rechner ausgeführt habe, kamen da nur kryptische Zeichen.
Also dachte ich mir, muss es am parser liegen und habe jetzt alles auf SAX2 umgestellt. Geht auch alles wunderbar. Auch die Umlaute werden jetzt unter Windows richtig ausgelesen.
ABER:
Der MinML steht für geringen Speicherverbrauch, was sich auf einem PDA oder Smartphone doch ganz gut macht. Beim debuggen habe ich gesehen, das das Array der Methode characters() des ContentHandlers eine Größe von etwa 200 hatte hingegen ist das Array des SAX-Parsers 2000 + x groß. Brauche ich definitiv nicht. Macht sich meiner Meinung nach auch in der Zeit des Parsvorgangs bemerktbar, da es jetzt fast doppel so lange auf dem Desktop-PC dauert und auf dem PDA geht es garnicht, weil da der Speicher irgendwann voll ist.
Jetzt also meine Frage: Ist es irgendwie möglich die Größe dies Arrays festzulegen? Ich habe bis jetzt keine Methode gesehen. Wenn das nicht geht, wie bekomme ich dann den MinML dazu, das er auch Umlaute unter Windwos lesen kann.
Danke für eure Antworten.
ich habe eine Programm für Windows Mobile 5 unter Mysaifu geschrieben was eine XML-Datei parst und daraus einen Vector-Tree baut.
Bisher habe ich für das parsen den MinML verwendet. Dieser stammt aber aus dem Jahre 2001 und hatte Probleme damit Umaute unter Windows auszulesen. Ich muss dazu sagen ich arbeite mit Eclipse unter Linux und da hatte ich keine Probleme mit Umlauten. Wenn ich das Programm dann aber auf einem Windows-Rechner ausgeführt habe, kamen da nur kryptische Zeichen.
Also dachte ich mir, muss es am parser liegen und habe jetzt alles auf SAX2 umgestellt. Geht auch alles wunderbar. Auch die Umlaute werden jetzt unter Windows richtig ausgelesen.
ABER:
Der MinML steht für geringen Speicherverbrauch, was sich auf einem PDA oder Smartphone doch ganz gut macht. Beim debuggen habe ich gesehen, das das Array der Methode characters() des ContentHandlers eine Größe von etwa 200 hatte hingegen ist das Array des SAX-Parsers 2000 + x groß. Brauche ich definitiv nicht. Macht sich meiner Meinung nach auch in der Zeit des Parsvorgangs bemerktbar, da es jetzt fast doppel so lange auf dem Desktop-PC dauert und auf dem PDA geht es garnicht, weil da der Speicher irgendwann voll ist.
Jetzt also meine Frage: Ist es irgendwie möglich die Größe dies Arrays festzulegen? Ich habe bis jetzt keine Methode gesehen. Wenn das nicht geht, wie bekomme ich dann den MinML dazu, das er auch Umlaute unter Windwos lesen kann.
Danke für eure Antworten.