XML文档中存在错误(2,2).这是什么意思?

Los*_*Bad 15 .net c# xml xml-serialization

我正在尝试阅读XML文档.我的XML:

<?xml version="1.0" encoding="utf-8"?>
<SplashScreen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Path>SplashScreen/Image-King</Path>
</SplashScreen>
Run Code Online (Sandbox Code Playgroud)

我的代码是读取XML:

XmlGameScreen = new XmlManager<GameScreen>();
XmlGameScreen.Type = currentscreen.Type;
currentscreen = XmlGameScreen.Load("LoadXML/SplashScreen.xml");
Run Code Online (Sandbox Code Playgroud)

和

public Type Type;
public T Load(string path)
{
    T instance;
    using (TextReader textreader = new StreamReader(path))
    {

        XmlSerializer xml = new XmlSerializer(Type);
        instance = (T)xml.Deserialize(textreader);
    }
    return instance; 
}
Run Code Online (Sandbox Code Playgroud)

我收到错误instance = (T)xml.Deserialize(textreader);我的XML文档是错误的吗?我想读<Path>.更新:我的内部异常:无法序列化'MyRPGgame.SplashScreen._image'类型成员'Microsoft.Xna.Framework.Graphics.Texture2D'

use*_*318 28

在我的情况下,似乎Visual Studio 2017版本15.5更新之一导致尝试打开SSRS项目时出现此错误.解决方案是从项目文件夹中删除*.rptproj.rsuser文件,然后重试.

  • 我删除了*.rptproj.ruser和*.rptproj.user,这解决了我的问题.我和@ user875318有同样的问题,尝试在Visual Studio 2017版本15.5.7中打开SSRS解决方案. (5认同)
  • 还尝试删除任何`*.suo`文件 (3认同)
  • 我没有rsuser文件,因为该项目来自TFS。因此,我创建了一个新的SSRS项目,发现它与我无法打开的项目(只是XML名称空间)之间的差异,更改了我无法打开的项目,然后打开了该项目。 (2认同)
  • 这解决了我的装载问题.谢谢user875318. (2认同)

use*_*710 7

我的经验是,在第二个字符的第二行中有一个错误。看一下您的类名是否与XML标记不同。您是否可以将“ XML根名称”更改为其他名称。

看一下XML结构以及将哪个类序列化到哪个节点。

另外,请阅读有关XmlRootAttribute类的 MSDN文档。

  • 根据我的经验,此错误意味着根元素具有与预期不同的另一个标签名称。实际标签名称从第 2 行第 2 个字符开始。 (2认同)