Es ist ein Fehler in XML-Dokument (2, 2).Was bedeutet das?

Ich versuche zu Lesen XML-Dokument.
Meine 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>

Meinen code Lesen von XML:

XmlGameScreen = new XmlManager<GameScreen>();
XmlGameScreen.Type = currentscreen.Type;
currentscreen = XmlGameScreen.Load("LoadXML/SplashScreen.xml");

Und

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; 
}

Bin ich immer Fehler auf instance = (T)xml.Deserialize(textreader); Ist mein XML-Dokument falsch? Ich bin versucht zu Lesen <Path>.
Update :
Meine Innere Ausnahme:
Nicht serialisieren Mitglied 'MyRPGgame.SplashScreen._image' Typ 'Microsoft.Xna.Framework.Graphics.Texture2D'

Ich denke, (2, 2) bedeutet, dass der Fehler in Zeile 2, Spalte 2. Aber das XML-Dokument aussieht, OK. Sind Sie sicher, dass Sie nicht be-etwas anderes?
Nicht nur das xml-Dokument...
Fügen Sie eine Zeile code (textreader.ReadToEnd ()), um die Ausgabe der text-Leser in einen string und verwenden Sie den debugger, um es zu untersuchen. (Als sanity-check).
Problem ist, Ihr die Instanziierung einer XmlManager Typ GameScreen aber versuchen, laden Sie eine XML-Datei mit dem Typ SplashScreen. Vielleicht. Ich bin mir nicht sicher, weil ich nicht verstehen den semantischen Unterschied zwischen T und Type im code. Vielleicht zeigt die zwei zusätzlichen Arten wären hilfreich. Dieser code funktioniert für mich, wenn SplashScreen ist eine Unterklasse von GameScreen.
ja SplashScreen ist eine Unterklasse von GameScreen

InformationsquelleAutor Losser Bad | 2015-01-12

Schreibe einen Kommentar