C#XmlSerializer:从XML文件反序列化空GUID值
我有一个包含如下XML的配置文件:C#XmlSerializer:从XML文件反序列化空GUID值,c#,xml,xmlserializer,C#,Xml,Xmlserializer,我有一个包含如下XML的配置文件: <XmlParameter Title="Analysis"> <ProcedureName>XmlParameterAnalysisGetFirst</ProcedureName> <ProcedureGroupId/> <Returns>Table</Returns> <Params> <Param OrderKey="
<XmlParameter Title="Analysis">
<ProcedureName>XmlParameterAnalysisGetFirst</ProcedureName>
<ProcedureGroupId/>
<Returns>Table</Returns>
<Params>
<Param OrderKey="0" Name="xmlParameters">%xmlParameters%</Param>
</Params>
</XmlParameter>
但当我尝试使用此代码块反序列化文件时:
var deserializer = new XmlSerializer(typeof(XmlParameter);
var reader = new StreamReader(this.FilePath);
var obj = deserializer.Deserialize(reader);
我得到一个系统。InvalidOperationException
:
XML文档中出现错误。-->Sytem.Format.Exception:未知的Guid格式
我的问题是是否有一种方法可以反序列化XML文件中的
null
GUID值null意味着如果XML文件中不存在引用,POCO字段将获得null引用
您的xml格式错误:请删除以下内容:
为了简化您的问题,请不要使用可为空的Guid,而是使用Guid.Empty。这等于0000-000。。。这不是一个有效的Guid,因此可以进行检查。
var deserializer = new XmlSerializer(typeof(XmlParameter);
var reader = new StreamReader(this.FilePath);
var obj = deserializer.Deserialize(reader);