请教一个反序列化的问题,高分,对熟悉反序列化的人来说应该很容易 要么自己实现IXmlSerializable,要么给worker定义一个属性专门用来序列化。这种需求比较奇怪,最好再考虑下是否合理。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private Transaction (SerializationInfo info, StreamingContext context) : base(info, context) { ID = info.GetString("ID"); worker= info.GetString("worker");//试下这个能得到什么 } 例子: string xml = @"<Transaction><ID>Job89</ID><worker><Name>jack</Name><sex>male</sex></worker></Transaction>"; byte []data = Encoding.Default.GetBytes(xml); Stream stream = new MemoryStream(data); XmlReader reader = XmlReader.Create(stream); XmlSerializer xs = new XmlSerializer(typeof(Transaction)); Transaction transaction = xs.Deserialize(reader) as Transaction; stream.Dispose();类:[XmlRootAttribute(ElementName = "Transaction")] public class Transaction : IXmlSerializable { private string _id; private string _woker; public string ID { get { return _id; } set { _id = value; } } public string Woker { get { return _woker; } set { _woker = value; } } public Transaction() { } public Transaction(string id, string woker) { _id = id; _woker = woker; } #region IXmlSerializable 成员 System.Xml.Schema.XmlSchema IXmlSerializable.GetSchema() { return null; } void IXmlSerializable.ReadXml(XmlReader reader) { reader.ReadStartElement(); _id = reader.ReadString(); reader.ReadEndElement(); _woker = reader.ReadOuterXml(); } void IXmlSerializable.WriteXml(XmlWriter writer) { //throw new Exception("The method or operation is not implemented."); } #endregion } HttpWebResponse.ContentLength 长度不正确的问题 c# 水晶报表的使用 c#中什么数据类型对应SqlServer2008中新数据类型time 怎么实现下载功能 做一个MSI安装文件,能让它在安装时先输入密码吗?有些安装包就是这样的 关于.NET内存回收的问题? 怎么样改变固定DataGrid中每一列的宽度?? 有关水晶报表的问题 在Web页中用水晶报表显示的报表能打印吗?找到不打印钮啊,已经预览出来了!还有谁有注册码? 菜鸟问各路大神 『紧急求助』有谁知道动态控制用户权限的代码!! 那个高手帮帮忙
private Transaction (SerializationInfo info, StreamingContext context)
: base(info, context)
{
ID = info.GetString("ID");
worker= info.GetString("worker");//试下这个能得到什么
}
byte []data = Encoding.Default.GetBytes(xml);
Stream stream = new MemoryStream(data);
XmlReader reader = XmlReader.Create(stream);
XmlSerializer xs = new XmlSerializer(typeof(Transaction));
Transaction transaction = xs.Deserialize(reader) as Transaction;
stream.Dispose();
类:[XmlRootAttribute(ElementName = "Transaction")]
public class Transaction : IXmlSerializable
{
private string _id;
private string _woker; public string ID
{
get { return _id; }
set { _id = value; }
} public string Woker
{
get { return _woker; }
set { _woker = value; }
} public Transaction() { } public Transaction(string id, string woker)
{
_id = id;
_woker = woker;
} #region IXmlSerializable 成员 System.Xml.Schema.XmlSchema IXmlSerializable.GetSchema()
{
return null;
} void IXmlSerializable.ReadXml(XmlReader reader)
{
reader.ReadStartElement();
_id = reader.ReadString();
reader.ReadEndElement();
_woker = reader.ReadOuterXml();
} void IXmlSerializable.WriteXml(XmlWriter writer)
{
//throw new Exception("The method or operation is not implemented.");
} #endregion
}