Расшифровка расширенных символов в XML - PullRequest
1 голос
/ 07 января 2010

Я знаю, что это, вероятно, просто и, возможно, спрашивалось раньше, но у меня проблемы с поиском решения.

Я анализирую некоторые RSS-каналы, которые включают HTML как блоки CDATA. Один пример здесь: http://g.msn.com/1ewenus50/news2

Лента сильно меняется, но в ней почти всегда присутствуют расширенные символы. Например, если я создаю простое консольное приложение и использую WebClient.DownloadString и смотрю на результат, я вижу такие вещи, как

"узнал о предполагаемой попытке экстремистских связей бомбардировщика Рейса 253, когда он был в полете в Рождество. Отчеты Саванны Гатри из NBC. (Сегодняшнее шоу)"

Однако эти странные символы должны быть апострофами, кавычками, тире и т. Д.

Что за хитрость заставляет их правильно декодироваться?

Если неясно, для этого я использую C # / .NET. В конце концов, этот контент будет отображаться в Silverlight, но я вижу проблему и в полной версии .NET 3.5.

Ответы [ 2 ]

0 голосов
/ 07 января 2010

Возможно, вы используете неправильную кодировку текста ... Я не уверен, какую вы используете, или какую - правильную, но это может поставить вас на путь.

0 голосов
/ 07 января 2010

Загрузите его в двоичную форму и проанализируйте его как XML. Это должно сделать правильно - документ XML должен быть самоописуем с точки зрения кодировки, но я бы не стал упускать из виду некоторые веб-серверы, чтобы рекламировать его (в заголовках) как имеющую другую кодировку, которая будет путать DownloadString.

В целом, когда речь идет о XML, стоит делать как можно больше внутри XML API, а не с необработанными данными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...