私はいくつかのxmlファイルを持っており、与えられたコードで以下のように逆シリアル化しようとしています。
using (StreamReader srFileContent = new StreamReader(filePath))
{
XmlSerializer serializer = new XmlSerializer(typeof(messageType));
messageType objMessage = (messageType)serializer.Deserialize(srFileContent);
}
ここで、filePathにあるファイルは次の行を含んでいません
<?xml version="1.0"?>
<message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
そのため、エラーが発生します。指定されたファイルのストリームを逆シリアル化する前に、この行をランタイムに追加する方法を教えてください。
エラーは以下のとおりです。
System.InvalidOperationException:XMLドキュメント(2、2)にエラーがあります。---> System.InvalidOperationException:予期されていませんでした。Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReadermessageType. Read161_message()---内部例外スタックトレースの終了--- System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader、String encodingStyle、XmlDeserializationEvents events)で.Xml.Serialization.XmlSerializer.Deserialize(TextReader textReader)at CCR2BB.frmMain.BWConvertProcess_DoWork()