Frage

Ich habe eine XSD-Datei, die in UTF-8 und einem beliebigen Texteditor ich es laufen codiert wird durch zeigt keine Zeichen am Anfang der Datei, aber wenn ich es ziehen in Visual Studio-Debugger, bis ich klar sieht ein leeres Feld vor der Datei.

Box in der Datei

Ich habe auch den Fehler:

Daten auf Root-Ebene ist ungültig. Zeile 1, Position 1.

alt text

Wer weiß, was das ist?

Update: Edited Post Dateityp zu qualifizieren. Es ist eine XSD-Datei von Microsoft XSD Konzept erstellt.

War es hilfreich?

Lösung

Es stellt sich heraus, die Antwort ist, dass, was ich sehe ein ist Byte Order Mark , was ein Zeichen ist, das, was ist das Laden des Dokuments erklärt, was es in codiert ist. in meinem Fall ist es in utf-8 codiert, so dass die entsprechenden BOM EF BB BF war, wie unten gezeigt. Um sie zu entfernen, ich öffnete es in Notepad ++ und klickte auf „Encode in UTF -8 ohne BOM“, wie unten dargestellt:

Speichern in Notepad ++.

tatsächlich Um die BOM zu sehen, hatte ich es zu öffnen, in TextPad in Binär-Modus :, und durchgeführt ein Google-Suche nach "EF BB BF" .

Binär-Modus

Es dauerte etwa 8 Stunden, um herauszufinden, das war, was es verursacht wurde, so dass ich dachte, dass ich dies mit allen teilen würde.

Aktualisieren : Wenn ich Joel Spolsky Blog-Post gelesen hatte: Der absolute Minimum Jeden Software-Entwickler, Positively muß über Unicode und Zeichensätze weiß (keine Ausreden!) , dann könnte ich dieses Problem nicht gehabt haben.

Andere Tipps

Hier ist, wie Sie es tun mit vim:

# vim file.xml
:set nobomb
:wq
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top