| |
|
|
- Seite 1 - |
|
Christof Neuß | Hallo,
ich habe folgende Herausforderung:
Ich bekomme XML-Dateien vom Bundesanzeiger, in denen Bilanzen/Jahresabschlüsse hinterlegt sind (pro Firma eine XML-Datei). Sie enthalten also Text und Zahlen. Der reine Text interessiert mich an der Stelle nicht. Aufgabe ist es, die richtigen Zahlen auszulesen und in eine Tabellenform zu bringen (z.B. dBase-Datei oder CSV-Datei). Ich weiß noch nicht, ob die Zahlen immer an derselben Stelle stehen (müsste aber eigentlich so sein).
Hat sich schon mal jemand mit sowas beschäftigt? XML-Dateien haben ja einen bestimmten Aufbau. Den kann man natürlich auslesen. Ist aber mühsam, wenn man das nur für ein kleines Projekt machen muss. Gibts sowas wie eine Unit, eine Inc o.ä. hierfür.
DANKE für jeden Hinweis, jede Hilfe. |
|
|
| |
|
|
|
| |
|
- Seite 1 - |
|
Thomas Freier | Da die *.xml als *.html gespeichert werden kann, könnte folgendes interessant sein: [web]https://www.sautin.com/html-to-rtf/developers.htm[/web]. Das kostenlose HTMLtoRTF ist bedingt brauchbar (Zeichensatz). |
|
|
| |
|
|
| |
|
- Seite 2 - |
|
|
Thomas Freier | Neuer Test: die kostenlose HTMLtoRTF.exe erzeugt ein gute *.doc mit eingebetteten Tabellen, wenn die *.html Vorlage in ANSI ist. Wie kann ich mit XProfan eine UTF-8 Datei zu ANSI konvertieren? |
|
|
| |
|
|
|
H.Brill | Und wenn du die .xml vorher in den normalen windowseigenen Editor lädst und dann als ANSI abspeicherst ? Mache das öfter in umgekehrter Weise mit meinen Datendateien für den PDA, also ANSI zu UTF 8.
Da es ja nur reiner Text ist, sollte das doch funktionieren. |
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 18.05.2008 ▲ |
|
|
|
|
Thomas Freier | Ja, von Hand ist es kein Problem bei mir aber über einen Programmcode. Aber das muss Christof selbst lösen. Anbei eine Test mit Franks Listview und die *.xml als *.txt in ANSI. |
|
|
| |
|
|
|
Frank Abbing |
Wie kann ich mit XProfan eine UTF-8 Datei zu ANSI konvertieren?
Ich hatte mir dazu mal eine Mini-Dll in Assembler geschrieben. Im Grunde sind aber nur ein paar Translate$ nötig und sollte dann immer noch einigermaßen flott ablaufen. Ich schicke dir die Dll und den Code wenn du magst; und ein bischen ASM beherrschst. |
|
|
| |
|
|
|
Ragnar Rehbein | Hab mich heute auch gerade mit UTF-8 quälen müssen. Ich brauchte eine Umwandlung von ANSI zu UTF-8.
Die Längenbestimmung der resultierenden Strings hat zuerst nicht so funktioniert wie erwartet, deshalb die etwas umständlich erscheinende Methode mit dem Abtrennen der NULL-Bytes. KompilierenMarkierenSeparieren $H windows.ph
{$cleq}
proc AnsiToUTF8
parameters ansistring$
declare unicode$, utf8$, laenge&
laenge& = len(ansistring$)*2
unicode$ = mkstr$(chr$(0),laenge&)
~MultiByteToWideChar(~CP_ACP,0,Addr(ansistring$),-1,addr(unicode$),laenge&)
laenge& = ~WideCharToMultiByte(~CP_UTF8,0,Addr(unicode$),-1,0,0,0,0)
UTF8$ = mkstr$(chr$(0),laenge&)
~WideCharToMultiByte(~CP_UTF8,0,Addr(unicode$),len(unicode$),Addr(UTF8$),laenge&,0,0)
utf8$ = substr$(utf8$,1,chr$(0))
return utf8$
endproc
proc UTF8ToAnsi
parameters utf8$
declare ansistring$, unicode$, laenge&
laenge& = len(utf8$) * 2
unicode$ = mkstr$(chr$(0),laenge&)
~MultiByteToWideChar(~CP_UTF8,0,Addr(utf8$),-1,Addr(unicode$),laenge&)
ansistring$ = mkstr$(chr$(0),laenge&)
~WideCharToMultiByte(~CP_ACP,0,Addr(unicode$),-1,Addr(ansistring$),laenge&,0,0)
ansistring$ = substr$(ansistring$,1,chr$(0))
return ansistring$
endproc
cls
declare x$
x$ = ansiToUTF8(Rön Réne)
print x$
writeini c:utf8.txt,code,utf8code=x$
x$ = UTF8ToAnsi(x$)
print x$
writeini c:utf8.txt,code,ansicode=x$
waitinput
Gruß Ragnar |
|
|
| |
|
|
|
Rolf Koch | Ragnar, nur kurze Info: Wenn Du XPSE nutzt (wie man sieht), dann brauchst Du nicht die Header einzubinden (z.B. $H windows.ph). XPSE hat diese schon intus |
|
|
| |
|
|
|
| Habs mal dupliziert: [...] |
|
|
| |
|
|
|
| Rolf Koch
Ragnar, nur kurze Info: Wenn Du XPSE nutzt (wie man sieht), dann brauchst Du nicht die Header einzubinden (z.B. $H windows.ph). XPSE hat diese schon intus
Ich find doch, weil sein Source selbst kein xpse benötigt. (Sondern er hierbei xpse sichtlich ja nur genutzt hat wg. den Kompilerschaltern) |
|
|
| |
|
|
|
Rolf Koch | @iF: Klar hast schon Recht, jedoch bezieht sich meine Aussage auf das einleitende {$cleq} - Ergo eins von beiden Do you Understand ? *lol* |
|
|
| |
|
|
|
Ragnar Rehbein | iF
Ich find doch, weil sein Source selbst kein xpse benötigt. (Sondern er hierbei xpse sichtlich ja nur genutzt hat wg. den Kompilerschaltern)
Genau
es ist sozusagen gewachsener Code.. Hab das mal schnell in 5 min. erledigen wollen, aber dann hat es doch länger gedauert. Bin noch nicht so zufrieden, weil die Proceduren etwas unklar erscheinen. MultiByteToWideChar und WideCharToMultiByte verhalten sich noch nicht ganz so wie ich das aus der MSDN entnehme.
Die entscheidende Erkenntnis ist aber, daß man beide Funktionen braucht um eine Umwandlung von ANSI zu UTF-8 zu erreichen. Das wollte ich in erster Linie kundtun. Die gutgemeinten Beispiele zu diesem Problem, in diesem und in Rolands Forum, funktionieren meiner Meinung nach leider nicht.
Gruß Ragnar |
|
|
| |
|
|