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文件,然后重试.
我的经验是,在第二个字符的第二行中有一个错误。看一下您的类名是否与XML标记不同。您是否可以将“ XML根名称”更改为其他名称。
看一下XML结构以及将哪个类序列化到哪个节点。
另外,请阅读有关XmlRootAttribute类的 MSDN文档。