字符串输入的格式不正确,浮点值为负-C#
我正在尝试反序列化C#中的基本xml文件。以下是反序列化代码:字符串输入的格式不正确,浮点值为负-C#,c#,xml,serialization,C#,Xml,Serialization,我正在尝试反序列化C#中的基本xml文件。以下是反序列化代码: using (var reader = new StreamReader("Plugins/LSPDFR/LSPSAddonCallouts.xml")) { XmlSerializer deserializer = new XmlSerializer(typeof(List<Custom.CustomMission>), new XmlRootAttr
using (var reader = new StreamReader("Plugins/LSPDFR/LSPSAddonCallouts.xml"))
{
XmlSerializer deserializer = new XmlSerializer(typeof(List<Custom.CustomMission>),
new XmlRootAttribute("CustomMissions"));
customMissions.AddRange((List<Custom.CustomMission>)deserializer.Deserialize(reader));
}
导致我的xml文件中出现问题的那一行是:
<startposprotaY>-726.2017f</startposprotaY>
-726.2017f
这行前面还有其他浮点数,它们被反序列化没有任何问题,但这一行不会。与其他浮点数的唯一区别是,这是xml文件的唯一负浮点数,其他浮点数为正。您确定这与负浮点数有关,而不是与十进制分隔符有关吗?如果您的区域性使用
,
而不是
,则此操作将失败。第一个XmlSerializer
需要一个根标记。你有一张“清单”,这不是一张有价值的清单。因此,您应该将列表包装成您自己的类型,然后进行序列化。不管怎么说,如果没有你的课程代码,你很难猜出发生了什么。“终端”f
是非法的XmlConvert.ToSingle(“1234f”)
将引发异常。
<startposprotaY>-726.2017f</startposprotaY>