当我执行 xml.LoadXml(stringName)
时,我不断收到此错误,其中 stringName 是我从数据库获取的 xml 数据。但是,如果我复制并粘贴数据库中的所有 xml,并直接将 stringName 指定为等于 xml,那么一切都会正常工作。
所以这有效:
string stringName = "<... some xml data ...>"
xml.LoadXml(stringName)
但这不是:
xml.LoadXml(stringName) <- stringName is passed to my method
有什么想法为什么直接输入 xml 可以工作,但从数据库分配它却不行?如果我从数据库打印字符串,它会在屏幕上显示正确的 xml(这是我复制和粘贴的位置)。
编辑:
好的,所以 xml 存储为 xml 数据类型。
如果(使用 MVC 2),我会:
<%=Model.ShowXml%>
我将在屏幕上看到完整(且正确)的 xml。
现在,ShowXml 是模型中的一个字符串。我应该将其作为不同的数据类型吗?我在 Controller 中使用 automapper 将模型映射到数据库。
最佳答案
这是我会尝试的:
string xmlFromDB = ... fetch XML from DB
Console.WriteLine((int)xmlFromDB[0]);
如果输出不是 60(十进制 ASCII 代码为 <
),则可能存在编码问题。可能是因为您在数据库中错误地存储了 XML,或者您可能错误地获取了它。不过,按照您在问题中所显示的详细程度来说。
关于c# - 根级别的数据无效。线路 1,位置 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8795745/