【发布时间】:2009-12-14 16:19:09
【问题描述】:
使用 C#,XmlDocument.Load 抛出此异常:“十六进制值 0x3C,是无效的属性字符”。
让我感到困惑的是它在开发中有效。我应该在远程服务器和我的开发环境上寻找哪些差异?
【问题讨论】:
-
你能发布正在加载的xml吗?
标签: c# exception xmldocument
使用 C#,XmlDocument.Load 抛出此异常:“十六进制值 0x3C,是无效的属性字符”。
让我感到困惑的是它在开发中有效。我应该在远程服务器和我的开发环境上寻找哪些差异?
【问题讨论】:
标签: c# exception xmldocument
我首先要看的是:它们是否运行完全相同版本的 .NET?如果您的服务器运行的是 2.0 SP1,而您的“devenv”是 VS2008 SP1(即 .NET 3.5 SP1),那么它们不是 100% 相同,并且可能存在细微差别甚至 仅使用 2.0 dll(即服务包中已修复/更改的内容)时。
我要看的第二件事是:它们是否处理相同的输入数据?
我要看的第三件事是“文化”;您的开发机器设置为法语,您的服务器设置为俄语? (或者其他的东西)。在这种情况下不太可能,但在 一般 情况下,不同的文化和默认编码/代码集可能会有所不同。
【讨论】:
在我看来这是一个数据问题。具体来说,文件中有一个未转义的
<
【讨论】:
奇怪的是,它试图解析的内容是错误的来源 - 即您的本地开发/测试数据与实时数据及其导致的实时数据不同问题。
您需要准确通过应用程序的本地实例在实时系统上运行导致问题的数据 - 如果您仍然没有收到错误,那么下一个问题将是如何两者不同。
【讨论】: