2009-08-14 6 views
0

Ich habe eine XML-Datei der Größe 83.383 KB auf einem Windows-Server. Ich lade diese Datei mit MS Xml Parser und es funktioniert gut.XML-Parser-Fehler

Wenn ich diese Datei auf einen anderen Windows-Server kopieren, wird die Größe der Datei 83,392 KB.Wenn ich diese Datei mit MS Xml Parser laden, erhalte ich XML-Parser Fehlermeldung: "Daten auf der Stammebene ist ungültig 1116371, Position 8. "

Was fehlt mir hier?

Danke fürs Lesen!

Antwort

2

Wenn ich diese Datei auf einen anderen Windows-Server kopieren, wird die Größe der Datei 83,392 KB.

Vielleicht sollten Sie überprüfen und sehen, was der Deal hier ist? Das Kopieren einer Datei soll das nicht ändern.

Führen Sie die Dateien durch windiff, fc, was auch immer.

0

Zwei Optionen, die ich denken kann:

  1. Sie verschiedene Versionen des XML-Parsers verwenden, und man ist strenger als die andere
  2. Kopie Ihrer Datei ist
  3. nicht genau

Wie kopieren Sie die Dateien? Wenn Sie die MD5-Prüfsumme der beiden Dateien nehmen, sind sie identisch?

Die nächste offensichtliche Sache zu tun ist, zu sehen, was im Einklang ist 1116371. Hier ein kurzes C# Programm, das Ihnen eine bestimmte Zeile für eine große Datei zeigen wird (es wird davon ausgegangen UTF-8-Codierung, aber man könnte das ändern):

using System; 
using System.IO; 

public class ShowLine 
{ 
    static void Main(string[] args) 
    { 
     if (args.Length != 2) 
     { 
      Console.WriteLine("Usage: ShowLine <file> <line>"); 
      return; 
     } 
     // TODO: error checking for argument validity 
     string file = args[0]; 
     int lineNo = int.Parse(args[1]); 
     using (TextReader reader = File.OpenText(file)) 
     { 
      string line = null; 
      for (int i=0; i < lineNo; i++) 
      { 
       line = reader.ReadLine(); 
       if (line == null) 
       { 
        Console.WriteLine("Not enough lines in file!"); 
        return; 
       } 
      } 
      Console.WriteLine(line); 
     } 
    } 
} 
0

Ich kopierte XML-Datei mit Windows-Befehl kopieren.

+0

Bitte bearbeiten Sie Ihre Frage oder fügen Sie einen Kommentar hinzu. Antworten sind für Antworten auf Ihre Frage ;-). –