我有这个XML元素字符串:
<person name="jhon smith" birth="11/10/1988" username="ilearn" password="123"/>
现在我想将其反序列化为各自的对象:
public class CancelCardResponse
{
public string name { get; set; }
public string birth { get; set; }
public string username { get; set; }
public string password { get; set; }
}
我正在使用类似的代码:
XmlSerializer deserializer = new XmlSerializer(typeof(Person));
StringReader reader = new StringReader(myxmlelementstring);
var a = deserializer.Deserialize(reader); // fail!
错误说明如下:
System.InvalidOperationException {“ XML文档中存在错误 (1,2)。“}
是否可以像上面那样对XML元素字符串进行去科学化?
我可以添加到我的XML元素字符串中以使用C#反序列化器吗?
答案 0 :(得分:0)
试试这样:
public class person
{
[XmlAttribute]
public string name { get; set; }
[XmlAttribute]
public string birth { get; set; }
[XmlAttribute]
public string username { get; set; }
[XmlAttribute]
public string password { get; set; }
}
我没有编译或测试它,因为我有用户XmlSerializer
已经有一段时间了,但这应该会让你到那里或接近它。
答案 1 :(得分:0)
将您的CancelCardResponse
课程重命名为Person
并使用[XmlAttribute("Attr Name as in XML")]