我试图反序列化xml,但是我收到“ XML文档中存在错误(51888,30)。输入字符串的格式不正确。”
下面的代码用来反序列化xml,DOCUMENT是从xml创建的类</ p>
var serializer = new XmlSerializer(typeof(DOCUMENT));
var buffer = Encoding.UTF8.GetBytes(savvisXml);
using (var stream = new MemoryStream(buffer))
{
var savvisXMLObj = (DOCUMENT)serializer.Deserialize(stream);
return savvisXMLObj;
}
我在XML的这一行中遇到错误
<UNIT_PRICE>0.9800</UNIT_PRICE>
UNIT_PRICE在DOCUMENT类中声明为十进制。
谁能帮我解决这个问题。 预先感谢
答案 0 :(得分:0)
在反序列化之前,尝试设置一种威胁“。”的文化。用作小数点分隔符:
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");