我在 Windows 服务器上有一个大小为 83,383 KB 的 xml 文件。我使用 MS xml 解析器加载了这个文件,它工作正常。
当我将此文件复制到另一个 Windows 服务器时,文件大小变为 83,392 KB。当我使用 MS xml 解析器加载此文件时,我收到 xml 解析器错误消息:“根级别的数据无效。第 1116371 行,位置 8。 "
我在这里错过了什么?
谢谢阅读!
当我将此文件复制到另一台 Windows 服务器时,文件大小变为 83,392 KB。
也许您应该检查一下这里的交易是什么?复制文件不应该改变它。
通过windiff、fc等运行文件。
我能想到的两个选择:
你是如何复制文件的?如果你拿这两个文件的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);
}
}
}
我使用 windows 复制命令复制了 xml 文件。