Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
[gelöst] Encoding in XML Datei (XmlDocument.LoadXml)
Riv3r
myCSharp.de - Member



Dabei seit:
Beiträge: 208

Themenstarter:

[gelöst] Encoding in XML Datei (XmlDocument.LoadXml)

beantworten | zitieren | melden

verwendetes Datenbanksystem: XML

Hallo Forum,

ich lese mit diesem Code


            XmlDocument dc = new XmlDocument();
            using (WebClient wb = new WebClient())
            {
                dc.LoadXml(wb.DownloadString(searchURL));
            }

eine XML-Datei einer Internetseite ein...

Bei vielen Dateien funktioniert es, nur bei manchen stimmt irgendetwas mit der Codierung nicht (Vermutung).

Beispiel:

Selbstüberschätzung statt Selbstüberschätzung...

Gruß,
Max
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Riv3r am .
private Nachricht | Beiträge des Benutzers
a957m
myCSharp.de - Member



Dabei seit:
Beiträge: 255
Herkunft: Stuttgart

beantworten | zitieren | melden

Hi,

die XML Dateien, sollten eine Angabe zum verwendeten Encoding enthalten. Dann sollte es keine Probleme geben.

Tschüss
private Nachricht | Beiträge des Benutzers
Riv3r
myCSharp.de - Member



Dabei seit:
Beiträge: 208

Themenstarter:

beantworten | zitieren | melden

Hi a957m,

natürlich steht (wie du gesagt hast) in der XML das Encoding dabei:


<?xml version="1.0" encoding="UTF-8"?>

leider steht in der gleichen XML auch "mysteriöse ".

Wenn ich die URL im Feuerfuchs aufmache stimmt übrigens alles.

Gruß,
Max
private Nachricht | Beiträge des Benutzers
Riv3r
myCSharp.de - Member



Dabei seit:
Beiträge: 208

Themenstarter:

beantworten | zitieren | melden

Hallo,

gelöst habe ich das Ganze jetzt so:


            Encoding sourceEncoding = Encoding.UTF8;
            Encoding targetEncoding = Encoding.Default;
            using (WebClient wb = new WebClient())
            {
                string text = wb.DownloadString(url);
                
                byte[] sourceBytes = sourceEncoding.GetBytes(text);
                byte[] targetBytes = Encoding.Convert(sourceEncoding, targetEncoding, sourceBytes);
                System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();
                return enc.GetString(targetBytes);
            }


Gruß,
Max
private Nachricht | Beiträge des Benutzers
Tom
myCSharp.de - Member



Dabei seit:
Beiträge: 430
Herkunft: Home is where my notebook is

beantworten | zitieren | melden

Schau mal in die MSDN was WebClient.DownloadString macht.
Dein Encoding kannst du einfacher machen.

Gruß,
Tom
private Nachricht | Beiträge des Benutzers