Probleme mit Umlaute

binderj1

Grünschnabel
Hallo

Ich habe ein VB-Prog. (VB2005 express) geschrieben, das eine XML-Datei aus dem Internet anzeigt.
Es funktioniert alles, solange in der XML-Datei keine Umlaute vorkommen.

Code:
Dim xmlDoc As New XmlDocument
xmlDoc.Load("http://www.********.**/data.xml")

attachment.php


wo liegt der Fehler

LG
Hannes
 

Anhänge

  • vb-fehler.jpg
    vb-fehler.jpg
    52 KB · Aufrufe: 15
Hallo Shakie

Das etwas mit der formatierung des Zeichensatzes (encoding) nicht passt, ist mir schon klar, mein Problem ist, das ich die xml-Datei nicht verändern kann, da sie vonn einem anderen Server generiert wird.
Meine Frage lautet nun. Wie kann ich die XML-Datei einlesen (mit Umlaute)?

Code:
Imports System
Imports System.Xml
Public Class Form1
    
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
	Dim xmlDoc As New XmlDocument()

        xmlDoc.Load("http://www.******.**/data.xml")
            For Each firstChild As XmlNode In xmlDoc.ChildNodes
            
              If firstChild.HasChildNodes = True Then
                
		    For Each secondChild As XmlNode In firstChild
                   
                  For Each echteDaten As XmlNode In secondChild
                        
                    Select Case echteDaten.Name.ToLower
			    Case "plz"
                                Dim plz As String = echteDaten.InnerXml
                                Label1.Text = plz

                      Case "ort"
                                Dim ort As String = echteDaten.InnerXml
                                Label2.Text = ort
			    Case Else
                                'dieses Element ist unbekannt
                      End Select

                    Next

                  Next

                End If

              Next
       
    End Sub


Code:
<root>
<plz>
<![CDATA[ 1234 ]]> 
</plz>
<ort>
<![CDATA[ NIEDERÖSTERREICH ]]> 
</ort>
</root>
 
Keine Ahnung, wie man ungültiges XML mit .Net-Klassen einließt. Du kannst dir natürlich immer selber einen Parser schreiben.
Hier http://validator.w3.org/ kannst du herausfinden, ob dein XML wirklich ungültig ist. Falls ja, dann solltest du die Schuld nach Möglichkeit auf den Server schieben, der das Dokument generiert. Schließlich macht er dann den Fehler und nicht du.
Hier schlägt jemand vor einen StreamReader zu benutzen um das Encoding explizit angeben zu können. Probier das mal.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück