使用C#,XmlDocument.Load抛出此异常:“十六进制值0x3C,是无效的属性字符”。
让我感到困惑的是它在开发中找到了解决方法。我应该在远程服务器和我的开发环境中寻找什么差异?
答案 0 :(得分:1)
我要看的第一件事是:他们是否正在运行完全相同版本的.NET?如果您的服务器运行的是2.0 SP1,并且您的“devenv”是VS2008 SP1(即.NET 3.5 SP1),则它们不 100%相同,并且可能存在细微差异甚至只使用2.0 dll(即服务包中已修复/更改的内容)。
我要看的第二件事是:他们处理相同的输入数据吗?
我要看的第三件事是“文化”;你的开发机器设置为法语,你的服务器设置为俄语吗? (或者其他的东西)。在这种情况下不太可能,但在一般情况下,不同的文化和默认编码/代码集可能会有所不同。
答案 1 :(得分:1)
在我看来,这是一个数据问题。特别是有一个未转义的<在文件中
A&lt;可以<
答案 2 :(得分:0)
奇怪的是,它试图解析的内容是错误的来源 - 即您的本地开发/测试数据与实时数据及其导致的实时数据不同问题。
您需要通过应用程序的本地实例运行完全导致实时系统出现问题的数据 - 如果您仍然没有收到错误,那么下一个问题将是如何两个不同。