39 votes

XML - Les données au niveau racine sont invalides

J'ai un fichier XSD qui est encodé en UTF-8, et un éditeur de texte, je ne présente pas de caractère au début du fichier, mais quand je le tire jusqu'au débogueur de Visual Studio, je vois clairement une boîte vide en face du fichier.

Box in file

J'ai également le message d'erreur:

Les données au niveau de la racine n'est pas valide. Ligne 1, position 1.

alt text

Quelqu'un sait ce que c'est?

Mise à jour le: Édité le post pour qualifier le type de fichier. C'est un fichier XSD créé par Microsoft XSD créateur.

55voto

George Stocker Points 31258

Il s'avère, la réponse est que ce que je vois est une Marque d'Ordre d'Octet, qui est un personnage qui raconte ce qui est du chargement du document ce qu'il est codé dans. Dans mon cas, il est encodé en utf-8, de sorte que le correspondant de la NOMENCLATURE a été EF BB BF, comme indiqué ci-dessous. Pour l'enlever, je l'ai ouvert dans Notepad++ et cliqué sur le bouton "Encoder en UTF-8 sans BOM", comme indiqué ci-dessous:

Saving in NotePad++.

Pour voir la NOMENCLATURE, j'ai dû l'ouvrir dans TextPad en mode Binaire:, et a mené une recherche sur Google pour "EF BB BF".

binary mode

Il m'a fallu environ 8 heures pour savoir ce qui avait été la cause, donc je pensais que je voudrais partager avec tout le monde.

Mise à jour: Si j'avais lu Joel Spolsky du blog: Le Minimum Absolu que Tout Développeur Doit Absolument, Positivement Savoir Sur Unicode et les Jeux de Caractères (Pas d'Excuses!), ensuite, je n'aurais pas eu ce problème.

29voto

bene Points 4294

voici comment vous le faites avec vim:

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X