2
私はこのようなXMLが含まれている設定ファイルがあります。C#のXmlSerializer:デシリアライズ空のGUID値XMLファイルから
<XmlParameter Title="Analysis">
<ProcedureName>XmlParameterAnalysisGetFirst</ProcedureName>
<ProcedureGroupId/>
<Returns>Table</Returns>
<Params>
<Param OrderKey="0" Name="xmlParameters">%xmlParameters%</Param>
</Params>
</XmlParameter>
私はタイプXmlParameter
のオブジェクトに実行時にファイルをデシリアライズするXmlSerializer
クラスを使用します。
public class XmlParameter {
[XmlAttribute]
public string Title { get; set; }
public string ProcedureName { get; set; }
[XmlElement(IsNullable=true)]
public Guid? ProcedureGroupId { get; set; }
public string Returns { get; set; }
public List<XmlCLRParam> Params { get; set; }
}
しかし、私は、このコードブロックを使用してファイルデシリアライズしよう:
var deserializer = new XmlSerializer(typeof(XmlParameter);
var reader = new StreamReader(this.FilePath);
var obj = deserializer.Deserialize(reader);
を
System.InvalidOperationException
:
XML文書でエラーが発生しました。 ---> Sytem.Format.Exception:不明なGuid形式です。
私の質問は、XMLファイル
問題を簡素化するために、null可能なGuidを代わりにGuid.Emptyを使用しないでください。これは0000-000と同じです...これは有効なGUIDではないので、チェックされても問題ありません。 –