C# xml 对象(反序列化)
C# xml to object (deserialization)
XML 到 C# 对象返回错误:
Error is : Data at the root level is invalid. Line 1, position 1.
如何将 xml 字符串反序列化为 C# 对象?
这是我的 XML:
<MSGIDRETURN>
<VERSION>1.0</VERSION>
<MSGID_LIST>
<MSGID>Test1234567</MSGID>
</MSGID_LIST>
</MSGIDRETURN>
这是我的 C# 类:
[XmlRoot("MSGIDRETURN")]
public class MSGIDRETURN
{
[XmlElement("VERSION")]
public string Version { get; set; }
[XmlElement("MSGID_LIST")]
public MSGID_LIST MsgIdList { get; set; }
}
[Serializable()]
public class MSGID_LIST
{
[XmlElement("MSGID")]
public List<string> MsgId { get; set; }
}
反序列化代码:
XmlSerializer serializer = new XmlSerializer(typeof(MSGIDRETURN));
StringReader rdr = new StringReader(inputString.Trim());
MSGIDRETURN resultingMessage = (MSGIDRETURN)serializer.Deserialize(rdr);
刚刚尝试了您的解决方案,使用字符串而不是输入,它正在运行。
你的 inputString 是什么?是那个文件还是别的什么?
string testData = @"<MSGIDRETURN>
<VERSION>1.0</VERSION>
<MSGID_LIST>
<MSGID>Test1234567</MSGID>
</MSGID_LIST>
</MSGIDRETURN>";
XmlSerializer serializer = new XmlSerializer(typeof(MSGIDRETURN));
StringReader rdr = new StringReader(testData.Trim());
MSGIDRETURN resultingMessage = (MSGIDRETURN)serializer.Deserialize(rdr);
XML 到 C# 对象返回错误:
Error is : Data at the root level is invalid. Line 1, position 1.
如何将 xml 字符串反序列化为 C# 对象?
这是我的 XML:
<MSGIDRETURN>
<VERSION>1.0</VERSION>
<MSGID_LIST>
<MSGID>Test1234567</MSGID>
</MSGID_LIST>
</MSGIDRETURN>
这是我的 C# 类:
[XmlRoot("MSGIDRETURN")]
public class MSGIDRETURN
{
[XmlElement("VERSION")]
public string Version { get; set; }
[XmlElement("MSGID_LIST")]
public MSGID_LIST MsgIdList { get; set; }
}
[Serializable()]
public class MSGID_LIST
{
[XmlElement("MSGID")]
public List<string> MsgId { get; set; }
}
反序列化代码:
XmlSerializer serializer = new XmlSerializer(typeof(MSGIDRETURN));
StringReader rdr = new StringReader(inputString.Trim());
MSGIDRETURN resultingMessage = (MSGIDRETURN)serializer.Deserialize(rdr);
刚刚尝试了您的解决方案,使用字符串而不是输入,它正在运行。 你的 inputString 是什么?是那个文件还是别的什么?
string testData = @"<MSGIDRETURN>
<VERSION>1.0</VERSION>
<MSGID_LIST>
<MSGID>Test1234567</MSGID>
</MSGID_LIST>
</MSGIDRETURN>";
XmlSerializer serializer = new XmlSerializer(typeof(MSGIDRETURN));
StringReader rdr = new StringReader(testData.Trim());
MSGIDRETURN resultingMessage = (MSGIDRETURN)serializer.Deserialize(rdr);