0

Windows サーバーにサイズ 83,383 KB の xml ファイルがあります。MS xml パーサーを使用してこのファイルをロードすると、正常に動作します。

このファイルを別の Windows サーバーにコピーすると、ファイルのサイズは 83,392 KB になります。MS xml パーサーを使用してこのファイルを読み込むと、xml パーサー エラー メッセージが表示されます。「ルート レベルのデータが無効です。行 1116371、位置 8。 "

ここで何が欠けていますか?

読んでくれてありがとう!

4

3 に答える 3

2

このファイルを別の Windows サーバーにコピーすると、ファイルのサイズは 83,392 KB になります。

たぶん、ここで取引が何であるかを確認して確認する必要がありますか?ファイルをコピーしても、ファイルが変更されることは想定されていません。

ファイルをwindiff、fcなどで実行します。

于 2009-08-14T06:02:39.057 に答える
0

私が考えることができる2つのオプション:

  1. 異なるバージョンの XML パーサーを使用しており、一方が他方より厳密です
  2. ファイルのコピーが正確ではありません

ファイルをどのようにコピーしていますか?2 つのファイルの MD5 チェックサムを取得すると、それらは同じですか?

次に行うべきことは、行 1116371 の内容を確認することです。これは、大きなファイルの指定された行を表示する短い C# プログラムです (UTF-8 エンコーディングを想定していますが、変更することもできます)。

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);
        }
    }
}
于 2009-08-14T06:03:28.557 に答える
0

Windowsのコピーコマンドを使用してxmlファイルをコピーしました。

于 2009-08-14T06:06:46.193 に答える