2011-01-04 7 views
4

Ich habe ein ziemlich seltsames Problem, mit der XElement load-Methode in ein HTML-Dokument (das gut mit HTML Tidy überprüft formatiert ist) zu laden, die absolut perfekt für englische Dokumente funktionieren, jedoch bewegt Bei französischen und spanischen Dokumenten wird mir eine XML-Ausnahme angezeigt.XElement kann Datei mit akzentuierten Zeichen nicht laden

XML Exception 
Invalid character in the given encoding. Line 23, position 43. 

Der Methodenaufruf

XElement doc = XElement.Load("example1.html", LoadOptions.None); 

Sniplet des HTML-Dokuments

<font face="Arial" size="3" color="#ffffff"> 
Le test <b> exemple français, qui devrait éventuellement être suivie d'un texte en langue espagnole. </ b> 
</font> 

ich meine HTML erkennen nicht, einen Kodierungstyp am Anfang der Datei gesetzt hat, gibt es eine Um es herum?

Antwort

3

weil Sie nicht XDocument verwenden, können Sie nicht gesetzt Zeichencodierung verwenden, die statt und setzen encoding = UTF-8

http://msdn.microsoft.com/en-us/library/bb387063.aspx

+1

Vielen Dank für mich in die richtige Richtung, schließlich nach einem Graben Ich habe das auch gefunden. http://stackoverflow.com/questions/310669/why-does-c-xmldocument-loadxmlstring-fail-when-an-xml-header-is-included – wonea

+0

Gern geschehen. –