XML - данные на корневом уровне недействительны

У меня есть файл XSD, закодированный в UTF-8, и любой текстовый редактор, через который я его запустил, не показывает никаких символов в начале файла, но когда я вытаскиваю его в отладчике Visual Studio, я ясно вижу пустой поле перед файлом.

XML - данные на корневом уровне недействительны

Я тоже получаю сообщение об ошибке:

Данные на корневом уровне недействительны. Строка 1, позиция 1.

XML - данные на корневом уровне недействительны

Кто-нибудь знает, что это?

Обновление: сообщение отредактировано для уточнения типа файла. Это файл XSD, созданный создателем XSD от Microsoft.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
40
0
30 495
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Оказывается, ответ заключается в том, что я вижу Знак порядка байтов, который представляет собой символ, который сообщает всему, что загружает документ, во что он закодирован. В моем случае он закодирован в utf-8, поэтому соответствующая спецификация была EF BB BF, как показано ниже. Чтобы удалить его, я открыл его в Блокнот ++ и щелкнул «Кодировать в UTF-8 без спецификации», как показано ниже:

Saving in NotePad++.

Чтобы действительно увидеть спецификацию, мне пришлось открыть ее в TextPad в двоичном режиме: и провести Поиск в Google по запросу "EF BB BF".

binary mode

Мне потребовалось около 8 часов, чтобы выяснить, что это было причиной, поэтому я решил поделиться этим со всеми.

Обновлять: Если бы я прочитал сообщение в блоге Джоэла Спольски: Абсолютный минимум. Каждый разработчик программного обеспечения должен абсолютно точно знать о Unicode и наборах символов (без оправданий!), то, возможно, у меня не было бы этой проблемы.

вот как это сделать с помощью vim:

# vim file.xml
:set nobomb
:wq

Другие вопросы по теме