Pra*_*eep 11 c# xml-serialization
当我正在做xml的反序列化时,我得到"XML文档中存在错误(1,41)." .任何人都可以告诉我这是什么问题.
public static T DeserializeFromXml<T>(string xml)
{
T result;
XmlSerializer ser = new XmlSerializer(typeof(T));
using (TextReader tr = new StringReader(xml))
{
result = (T)ser.Deserialize(tr);
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
我用这个函数来做.
<?xml version='1.0' encoding='utf-16'?>
<Message>
<FirstName>Hunt</FirstName>
<LastName>DAvid</LastName>
</Message>
Run Code Online (Sandbox Code Playgroud)
sll*_*sll 17
确保您的Message类如下所示:
[Serializable, XmlRoot("Message")]
public class Message
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这对我很好:
string xml = File.ReadAllText("c:\\Message.xml");
var result = DeserializeFromXml<Message>(xml);
Run Code Online (Sandbox Code Playgroud)
在XML文档实例中生成和识别的XML根元素的名称.默认值是序列化类的名称.
所以可能是你的类名不是Message,这就是反序列化器无法使用默认行为找到它的原因.
| 归档时间: |
|
| 查看次数: |
103690 次 |
| 最近记录: |