Невозможно загрузить XML-файл с маркером спецификации UTF-8, используя MSXML6 - PullRequest
3 голосов
/ 08 марта 2012

У меня есть XML-файл с маркером спецификации UTF-8 (EF BB BF) в начале.

Также содержит encoding как <?xml version="1.0" encoding="UTF-8" ?>.

Я пытаюсь загрузить этот XML-файл, используя IXMLDOMDocument::LoadXML, который не может загрузить этот документ. Если я удаляю маркер спецификации, он работает отлично.

Мой вопрос неправильно ли иметь маркер спецификации в этом случае или это ошибка MSXML (точнее MSXML6)?

1 Ответ

5 голосов
/ 08 марта 2012

Метод IXMLDOMDocument::loadXML ожидает BSTR, который кодируется в UTF-16. См. эту страницу для обсуждения вопроса.

Я предлагаю использовать IXMLDOMDocument::load вместо этого, который имеет различные перегрузки, которые не требуют UTF-16.

...