XML解析器错误

时间:2009-08-14 05:59:29

标签: xml msxml

我在Windows服务器上有一个大小为83,383 KB的xml文件。我使用MS xml解析器加载此文件,它运行正常。

当我将此文件复制到另一台Windows服务器时,文件大小变为83,392 KB。当我使用MS xml解析器加载此文件时,我收到xml解析器错误消息: “根级别的数据无效。第1116371行,第8位。”

我在这里错过了什么?

感谢阅读!

3 个答案:

答案 0 :(得分:2)

  

当我将此文件复制到另一台Windows服务器时,文件大小变为83,392 KB。

也许您应该查看并查看此处的交易?复制文件不应该改变它。

通过windiff,fc等运行文件。

答案 1 :(得分:0)

我能想到的两个选择:

  1. 您正在使用不同版本的XML解析器,其中一个比其他版本更严格
  2. 您的文件副本不准确
  3. 你是如何复制文件的?如果你取两个文件的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);
            }
        }
    }
    

答案 2 :(得分:0)

我使用windows copy命令复制了xml文件。