XML 文件序列化问题
XML File Serialization Issue
我正在尝试使用以下代码序列化 XML 文件,
using System;
using System.Xml;
using System.Xml.Serialization;
namespace TestXML
{
[Serializable]
[XmlRootAttribute("Test")]
public class Test100
{
[XmlElementAttribute("StartDate")]
public DateTime StartDate { get; set; }
[XmlElementAttribute("EndDate")]
public DateTime EndDate { get; set; }
}
class Program
{
static void Main(string[] args)
{
Test100 obj = new Test100();
try
{
XmlSerializer serializer = new XmlSerializer(typeof(Test100));
XmlReader reader = XmlReader.Create(@"C:\MyProjects\TestXML\TestXML\Test.xml");
obj = (Test100)serializer.Deserialize(reader);
reader.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}
XML 文件:
<?xml version="1.0"?>
<Test>
<StartDate>2020-01-19T00:00:00Z</StartDate>
<EndDate></EndDate>
</Test>
异常:字符串“”不是有效的 AllXsd 值。
在此先感谢您的帮助。
我更新了代码如下
public string EndDate { get; set; }
[XmlIgnore]
public bool? _EndDate
{
get
{
if (!string.IsNullOrWhiteSpace(EndDate))
{
return bool.Parse(EndDate);
}
return null;
}
}
以上代码处理的是null问题。
我正在尝试使用以下代码序列化 XML 文件,
using System;
using System.Xml;
using System.Xml.Serialization;
namespace TestXML
{
[Serializable]
[XmlRootAttribute("Test")]
public class Test100
{
[XmlElementAttribute("StartDate")]
public DateTime StartDate { get; set; }
[XmlElementAttribute("EndDate")]
public DateTime EndDate { get; set; }
}
class Program
{
static void Main(string[] args)
{
Test100 obj = new Test100();
try
{
XmlSerializer serializer = new XmlSerializer(typeof(Test100));
XmlReader reader = XmlReader.Create(@"C:\MyProjects\TestXML\TestXML\Test.xml");
obj = (Test100)serializer.Deserialize(reader);
reader.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}
XML 文件:
<?xml version="1.0"?>
<Test>
<StartDate>2020-01-19T00:00:00Z</StartDate>
<EndDate></EndDate>
</Test>
异常:字符串“”不是有效的 AllXsd 值。
在此先感谢您的帮助。
我更新了代码如下
public string EndDate { get; set; }
[XmlIgnore]
public bool? _EndDate
{
get
{
if (!string.IsNullOrWhiteSpace(EndDate))
{
return bool.Parse(EndDate);
}
return null;
}
}
以上代码处理的是null问题。