XML auslesen

warfrog

Grünschnabel
Hallo,

Ich will mit Hilfe eines VBA-Makros Auttribute einer XML-Datei auslesen. Die Daten kann ich mittlerweile bereits auslesen, aber leider werden Umlaute nicht korrekt dargestellt (z.B. Ä wird als ä dargestellt).
Weiss da jemand wie ich diese Problem beheben kann ohne die XML-Datei dabei zu verändern?

Meine XML-Datei sieht in etwa so aus.

<?xml version="1.0" encoding="UTF-8" ?>
<WordPlus>
<DocCreators>
<DocCreator ID="1" Kennung="test" Kurzzeichen="" Name="Täst" Vorname="ÄÖÜ" Funktion="" Abteilung="" TelefonDirekt="" Mobil="" FaxDirekt="" EMail="" Reservefeld="" />
</DocCreators>
</WordPlus>

Danke...
 
Ich hoffe das Hilft dir.

Code:
Function Lese_Datei(Pfad) As String
Dim FileNr As Long
    FileNr = FreeFile
    Open Pfad For Binary As #FileNr
    Lese_Datei = Space$(LOF(FileNr))
    Get #FileNr, , Lese_Datei
    Close #FileNr
End Function

Sub Auslesen()
Dim Inhalt As String, Wert As String, Position As Integer
    Inhalt = Lese_Datei("Pfad\Zur\Datei")
    Position = 1
    MsgBox WertLesen(Position, Inhalt, "Kennung=""", """") 'Text von 'Kennung="' bis '"' Extrahieren
End Sub

Function WertLesen(Start As Integer, Text As String, Von As String, Bis As String) As String
    Start = InStr(Start, Text, Von) + Len(Von)
    WertLesen = Mid(Text, Start, InStr(Start, Text, Bis) - Start)
End Function

lg RJZ
 
Schön programmiert (zumindest um einiges besser, als das was ich programmiert hatte ;) ) aber leider werden die Umlaute immer noch falsch dargestellt.
 
Also ich will die Daten am Schluss in meinem Word-Dokument darstellen.
Wenn ich allerdings deinen Code genau so verwende, wird es auch in der MsgBox falsch dargestellt :(
 
Könntest du eine solche XML Datei anhängen(nicht nur den Inhalt posten!), dann kann ich Schauen ob es bei mir auch so ist?
 
Wenn ich den encoding-Wert von UTF-8 auf z.B. windows-1250 (Zentraleuropäisch) ändere Funktioniert es korrekt. Die Datei sollte aber wie gesagt nicht verändert werden.
Ich kenn mich damit leider nicht so gut aus, aber vielleicht hilft es dir.
Dazu kommt noch, dass ich in der Schweiz lebe, keine Ahnung ob dies auch ein Problem sein könnte.
 

Anhänge

  • wordplus2.zip
    468 Bytes · Aufrufe: 122
Hm... schade, trotzdem danke für deine Hilfe.

Weiss sonst jemand an was das liegen könnte bzw. wie ich das Problem lösen kann?
 
Ich hab mal nur eine Frage, wieso benutzt du nicht die MSXML-Library? Das Problem ist dass XML-Dateien immer in UTF8 kodiert sind (Standard), mit der Library wird dir alles korrekt wiedergegeben. Hier findest du ein Tutorial zum Thema XML mit VB.


Der Doc!
 
Zurück