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>
_
XMLを読み取っている私のコード:
_XmlGameScreen = new XmlManager<GameScreen>();
XmlGameScreen.Type = currentscreen.Type;
currentscreen = XmlGameScreen.Load("LoadXML/SplashScreen.xml");
_
そして
_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;
}
_
instance = (T)xml.Deserialize(textreader);
でエラーが発生しますXMLドキュメントが間違っていますか? _<Path>
_を読み込もうとしています。更新:内部例外:_'MyRPGgame.SplashScreen._image'
_タイプのメンバー_'Microsoft.Xna.Framework.Graphics.Texture2D'
_をシリアル化できません
私の経験では、2番目の文字の2行目にエラーがあります。クラス名がXMLタグと異なるかどうかを確認してください。 「XMLルート名」を別の名前に変更している可能性がありますか?.
XML構造と、どのノードにどのクラスをシリアル化するかを確認してください。
また、 XmlRootAttributeクラスに関するMSDNドキュメント もお読みください。
私の場合、SSRSプロジェクトを開こうとすると、Visual Studio 2017バージョン15.5の更新の1つがこのエラーを引き起こしたようです。解決策は、プロジェクトフォルダーから* .rptproj.rsuserファイルを削除して、再試行することです。
これは通常、ファイルの先頭に空白があることを意味します。 <?xml...
の前に改行がないか確認してください。さらに良い:バイナリエディタで表示したファイルの最初の数バイト(できれば<SplashScreen
まで)を表示してください。
それはcouldはまた、<SplashScreen
の前のどこかに非表示のユニコードまたは制御文字があることを意味します
私は同じ問題に直面しましたが、私の場合は[XmlArrayAttribute]
は、ゲッターに[XmlIgnoreAttribute]
初期化されていないままにされました。